static int isp_release(struct inode *inode, struct file *filp) { struct isp_t *dev = (struct isp_t *) filp->private_data; free_irq(IRQ_ISP, dev); pi_mgr_qos_request_update(&isp_qos_node, PI_MGR_QOS_DEFAULT_VALUE); #ifndef CONFIG_ARCH_JAVA scu_standby(1); #endif disable_isp_clock(); if (pi_mgr_dfs_request_update(&isp_dfs_node, PI_MGR_DFS_MIN_VALUE)) { printk(KERN_ERR "%s: failed to update dfs request for isp\n", __func__); } pi_mgr_dfs_request_remove(&isp_dfs_node); isp_dfs_node.name = NULL; pi_mgr_qos_request_remove(&isp_qos_node); isp_qos_node.name = NULL; mutex_lock(&brcm_global_isp_lock); brcm_global_isp_in_use--; mutex_unlock(&brcm_global_isp_lock); kfree(dev); return 0; }
static int isp_release(struct inode *inode, struct file *filp) { isp_t *dev = (isp_t *) filp->private_data; disable_isp_clock(); free_irq(IRQ_ISP, dev); if (dev) kfree(dev); return 0; }
static int isp_release(struct inode *inode, struct file *filp) { struct isp_t *dev = (struct isp_t *) filp->private_data; pi_mgr_qos_request_update(&isp_qos_node, PI_MGR_QOS_DEFAULT_VALUE); scu_standby(1); disable_isp_clock(); if (pi_mgr_dfs_request_update(&isp_dfs_node, PI_MGR_DFS_MIN_VALUE)) { printk(KERN_ERR "%s: failed to update dfs request for isp\n", __func__); } pi_mgr_dfs_request_remove(&isp_dfs_node); isp_dfs_node.name = NULL; pi_mgr_qos_request_remove(&isp_qos_node); isp_qos_node.name = NULL; free_irq(IRQ_ISP, dev); kfree(dev); return 0; }