static int debug_close(struct inode *inode, struct file *file) { file_private_info_t *p_info; p_info = (file_private_info_t *) file->private_data; if(p_info->debug_info_snap) debug_info_free(p_info->debug_info_snap); debug_info_put(p_info->debug_info_org); kfree(file->private_data); return 0; /* success */ }
void debug_unregister(debug_info_t * id) { if (!id) goto out; down(&debug_lock); debug_info_put(id); up(&debug_lock); out: return; }
void debug_unregister(debug_info_t * id) { if (!id) goto out; mutex_lock(&debug_mutex); debug_info_put(id); mutex_unlock(&debug_mutex); out: return; }