Exemple #1
0
static int adp5588_remove(struct i2c_client *client)
{
    struct adp5588_keypad_data *kp = i2c_get_clientdata(client);
    dev_dbg(&client->dev, "%s: enter.\n", __FUNCTION__);

    if ( adp5588_data.device_type )  /* it is MOTUS  */
    {
        switch_dev_unregister(&adp5588_data.sw_lid_dev);
        input_unregister_handler(&lid_switch_handler);
    }
    else
    {   /* morrison */
        switch_dev_unregister(&adp5588_data.sw_mute_dev);
    }

    //	if (kp->use_irq)
    //	{
    free_irq(client->irq, kp);
    //        }else
    hrtimer_cancel(&kp->timer);
    gpio_free( ADP5588_KEYPAD_RESET_GPIO);
    input_unregister_device(kp->input_dev);
    kfree(kp);
    return 0;
}
static inline void sysrq_unregister_handler(void)
{
	if (sysrq_handler_registered) {
		input_unregister_handler(&sysrq_handler);
		sysrq_handler_registered = false;
	}
}
static void __exit sweep2wake_exit(void)
{
	input_unregister_handler(&s2s_input_handler);
	destroy_workqueue(s2s_input_wq);
	input_unregister_device(sweep2wake_pwrdev);
	input_free_device(sweep2wake_pwrdev);
	return;
}
Exemple #4
0
static void __exit cfboost_exit(void)
{
	/* stop input events */
	input_unregister_handler(&cfb_input_handler);
	/* cancel pending work requests */
	cancel_work_sync(&boost);
	cancel_delayed_work_sync(&unboost);
	/* clean up */
	destroy_workqueue(cfb_wq);
	pm_qos_remove_request(&qos_req);
}
static void __exit doubletap2wake_exit(void)
{
#ifndef ANDROID_TOUCH_DECLARED
	kobject_del(android_touch_kobj);
#endif
	input_unregister_handler(&dt2w_input_handler);
	destroy_workqueue(dt2w_input_wq);
	input_unregister_device(doubletap2wake_pwrdev);
	input_free_device(doubletap2wake_pwrdev);
	return;
}
static void kgdboc_restore_input_helper(struct work_struct *dummy)
{
	/*
                                                           
                                                         
                                                 
  */
	mutex_lock(&kgdboc_reset_mutex);

	if (input_register_handler(&kgdboc_reset_handler) == 0)
		input_unregister_handler(&kgdboc_reset_handler);

	mutex_unlock(&kgdboc_reset_mutex);
}
static void kgdboc_restore_input_helper(struct work_struct *dummy)
{
	/*
	 * We need to take a mutex to prevent several instances of
	 * this work running on different CPUs so they don't try
	 * to register again already registered handler.
	 */
	mutex_lock(&kgdboc_reset_mutex);

	if (input_register_handler(&kgdboc_reset_handler) == 0)
		input_unregister_handler(&kgdboc_reset_handler);

	mutex_unlock(&kgdboc_reset_mutex);
}
static void __exit wake_gestures_exit(void)
{
	kobject_del(android_touch_kobj);
	input_unregister_handler(&wg_input_handler);
	destroy_workqueue(s2w_input_wq);
	destroy_workqueue(dt2w_input_wq);
	input_free_device(wake_dev);
	wake_lock_destroy(&dt2w_wakelock);
#if (WAKE_GESTURES_ENABLED)	
	input_unregister_device(gesture_dev);
	input_free_device(gesture_dev);
#endif

	return;
}
Exemple #9
0
static void __exit wake_gestures_exit(void)
{
	kobject_del(android_touch_kobj);
	input_unregister_handler(&wg_input_handler);
	input_free_device(wake_dev);
#ifdef CONFIG_POWERSUSPEND
	unregister_power_suspend(&wk_power_suspend_handler);
#endif
#if (WAKE_GESTURES_ENABLED)	
	input_unregister_device(gesture_dev);
	input_free_device(gesture_dev);
#endif

	return;
}
static void __exit ate_exit(void)
{
    sysfs_remove_file(hw_ate_kobj, &dev_attr_input_device_filter.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_file_save_user_ops.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_playback_continuance_ms.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_playback_delay_ms.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_parse_user_ops_file.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_play_user_ops.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_record_user_ops.attr);
    sysfs_remove_file(hw_ate_kobj, &dev_attr_inputevents_count.attr);
    kobject_del(hw_ate_kobj);
    wake_unlock(&ate_dt->wake_lock);
    wake_lock_destroy(&ate_dt->wake_lock);
    kfree(ate_dt->ie_dt);
    kfree(ate_dt);

    input_unregister_handler(&ate_handler);
}
Exemple #11
0
static int my_stop(void)
{
    //shutdown kthread
    lock_kernel();
    init_MUTEX_LOCKED(&sleep_sem);
    mb();
    terminate = 1;
    mb();
    kill_proc(thread->pid, SIGKILL, 1);
    flush_scheduled_work();
    down(&sleep_sem);
    kill_proc(2, SIGCHLD, 1);
    
    remove_proc_entry(KB_PROC_LOCATION, 0);
    
    input_unregister_handler(&kbinput_handler);
 	
    return 0;
}
void __exit rfkill_handler_exit(void)
{
	input_unregister_handler(&rfkill_handler);
	cancel_delayed_work_sync(&rfkill_op_work);
}
Exemple #13
0
static void __exit apmpower_exit(void)
{
	input_unregister_handler(&apmpower_handler);
}
static void mac_hid_stop_emulation(void)
{
	input_unregister_handler(&mac_hid_emumouse_handler);
	mac_hid_destroy_emumouse();
}
Exemple #15
0
void __exit evbug_exit(void)
{
	input_unregister_handler(&evbug_handler);
}
Exemple #16
0
void cleanup_module(void)
{
	kbd_ledfunc = NULL;
	input_unregister_handler(&keybdev_handler);
}
static void __exit force_crash_exit(void)
{
	del_timer_sync(&force_crash_timer);
	input_unregister_handler(&force_crash_handler);
}
Exemple #18
0
static void __exit keybdev_exit(void)
{
	kbd_ledfunc = NULL;
	input_unregister_handler(&keybdev_handler);
}
static void __exit boost_exit(void)
{
	flush_work(&touchboost_wk);
	input_unregister_handler(&touchboost_handler);
	pm_qos_remove_request(&touchboost_cpu_qos_min);
}