diff options
Diffstat (limited to 'arch/sh/drivers/push-switch.c')
| -rw-r--r-- | arch/sh/drivers/push-switch.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c index 725be6de589..5bfb341cc5c 100644 --- a/arch/sh/drivers/push-switch.c +++ b/arch/sh/drivers/push-switch.c @@ -8,6 +8,7 @@ * for more details. */ #include <linux/init.h> +#include <linux/slab.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/platform_device.h> @@ -62,7 +63,7 @@ static int switch_drv_probe(struct platform_device *pdev) BUG_ON(!psw_info); ret = request_irq(irq, psw_info->irq_handler, - IRQF_DISABLED | psw_info->irq_flags, + psw_info->irq_flags, psw_info->name ? psw_info->name : DRV_NAME, pdev); if (unlikely(ret < 0)) goto err; @@ -106,7 +107,7 @@ static int switch_drv_remove(struct platform_device *pdev) device_remove_file(&pdev->dev, &dev_attr_switch); platform_set_drvdata(pdev, NULL); - flush_scheduled_work(); + flush_work(&psw->work); del_timer_sync(&psw->debounce); free_irq(irq, pdev); |
