static int sanremo_ts_remove(struct platform_device *pdev) { pmic_callback_unregister(PMIC_EVENT_TOUCH, sanremo_ts_interrupt); input_unregister_device(sanremo_ts_input_dev); kfree(sanremo_td->ts_timer); kfree(sanremo_td); return 0; }
static void __exit littleton_ts_exit( void ) { /* We move these codes here because we want to detect the * pen down event even when touch driver is not opened. */ micco_tsi_poweroff(); micco_enable_pen_down_irq(0); pmic_callback_unregister(PMIC_EVENT_TOUCH, lt_touch_interrupt); platform_driver_unregister(<_ts_drv); }
static int tavorevb_vbus_detect(void *func, int enable) { if (enable) { pmic_callback_register(PMIC_EVENT_USB, func); pxa3xx_pmic_set_pump(1); } else { pxa3xx_pmic_set_pump(0); pmic_callback_unregister(PMIC_EVENT_USB, func); } return 0; }
static int AMI8563_detach(struct i2c_client *client) { struct AMI8563 *pAMI8563 = container_of(client, struct AMI8563, client); struct rtc_device *rtc = i2c_get_clientdata(client); pmic_callback_unregister(PMIC_EVENT_EXTON, AMI8563_alarm_event_handler); if (rtc) rtc_device_unregister(rtc); i2c_detach_client(client); kfree(pAMI8563); return 0; }