input_unregister_device(&spitzkbd->input);
input_unregister_device(spitzkbd->input);
static int spitzkbd_remove(struct device *dev){	int i;	struct spitzkbd *spitzkbd = dev_get_drvdata(dev);	for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++)		free_irq(IRQ_GPIO(spitz_senses[i]), spitzkbd);	free_irq(SPITZ_IRQ_GPIO_SYNC, spitzkbd);	free_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd);	free_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd);	free_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd);	del_timer_sync(&spitzkbd->htimer);	del_timer_sync(&spitzkbd->timer);	input_unregister_device(&spitzkbd->input);	kfree(spitzkbd);	return 0;}