static int s5p_cec_release(struct inode *inode, struct file *file) { g_hdmi_on = false; s5p_cec_mask_tx_interrupts(); s5p_cec_mask_rx_interrupts(); return 0; }
static int s5p_cec_release(struct inode *inode, struct file *file) { atomic_dec(&hdmi_on); s5p_cec_mask_tx_interrupts(); s5p_cec_mask_rx_interrupts(); clk_disable(hdmi_cec_clk); clk_put(hdmi_cec_clk); return 0; }
static int s5p_cec_adap_enable(struct cec_adapter *adap, bool enable) { struct s5p_cec_dev *cec = cec_get_drvdata(adap); if (enable) { pm_runtime_get_sync(cec->dev); s5p_cec_reset(cec); s5p_cec_set_divider(cec); s5p_cec_threshold(cec); s5p_cec_unmask_tx_interrupts(cec); s5p_cec_unmask_rx_interrupts(cec); s5p_cec_enable_rx(cec); } else { s5p_cec_mask_tx_interrupts(cec); s5p_cec_mask_rx_interrupts(cec); pm_runtime_disable(cec->dev); } return 0; }