diff options
Diffstat (limited to 'drivers/extcon/extcon-palmas.c')
| -rw-r--r-- | drivers/extcon/extcon-palmas.c | 17 | 
1 files changed, 6 insertions, 11 deletions
| diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c index a2852bcc5f0d..d2c1a8b89c08 100644 --- a/drivers/extcon/extcon-palmas.c +++ b/drivers/extcon/extcon-palmas.c @@ -9,6 +9,7 @@   * Author: Hema HK <hemahk@ti.com>   */ +#include <linux/devm-helpers.h>  #include <linux/module.h>  #include <linux/interrupt.h>  #include <linux/platform_device.h> @@ -237,7 +238,11 @@ static int palmas_usb_probe(struct platform_device *pdev)  			palmas_usb->sw_debounce_jiffies = msecs_to_jiffies(debounce);  	} -	INIT_DELAYED_WORK(&palmas_usb->wq_detectid, palmas_gpio_id_detect); +	status = devm_delayed_work_autocancel(&pdev->dev, +					      &palmas_usb->wq_detectid, +					      palmas_gpio_id_detect); +	if (status) +		return status;  	palmas->usb = palmas_usb;  	palmas_usb->palmas = palmas; @@ -359,15 +364,6 @@ static int palmas_usb_probe(struct platform_device *pdev)  	return 0;  } -static int palmas_usb_remove(struct platform_device *pdev) -{ -	struct palmas_usb *palmas_usb = platform_get_drvdata(pdev); - -	cancel_delayed_work_sync(&palmas_usb->wq_detectid); - -	return 0; -} -  #ifdef CONFIG_PM_SLEEP  static int palmas_usb_suspend(struct device *dev)  { @@ -422,7 +418,6 @@ static const struct of_device_id of_palmas_match_tbl[] = {  static struct platform_driver palmas_usb_driver = {  	.probe = palmas_usb_probe, -	.remove = palmas_usb_remove,  	.driver = {  		.name = "palmas-usb",  		.of_match_table = of_palmas_match_tbl, | 
