static void vo_do_plug ( void *ptr /*!<; // work input data */ ) #endif { vout_t *vo; int plugin; if( vo_plug_func == 0 ) return; vo = vout_get_entry(vo_plug_vout); govrh_set_dvo_enable(vo->govr,1); plugin = vo_plug_func(1); govrh_set_dvo_enable(vo->govr,plugin); vout_change_status(vo,VPP_VOUT_STS_PLUGIN,plugin); vo_plug_flag = 0; DBG_DETAIL("vo_do_plug %d\n",plugin); vppif_reg32_write(GPIO_BASE_ADDR+0x300+VPP_VOINT_NO,0x80,7,1); // GPIO irq enable vppif_reg32_write(GPIO_BASE_ADDR+0x80,0x1<<VPP_VOINT_NO,VPP_VOINT_NO,0x0); // GPIO input mode #ifdef __KERNEL__ vpp_netlink_notify(USER_PID,DEVICE_PLUG_IN,plugin); vpp_netlink_notify(WP_PID,DEVICE_PLUG_IN,plugin); #endif return; }
static void wmt_cec_do_rx_notify(struct work_struct *ptr) { vpp_netlink_notify(USER_PID,DEVICE_RX_DATA,(int)&recv_msg); }