Re: [PATCH 1/2] extcon: Set platform drvdata in gpio_extcon_probe()and fix irq leak

From: 함명주
Date: Tue Jun 19 2012 - 06:19:49 EST


> Add missing platform_set_drvdata() in gpio_extcon_probe(), otherwise calling
> platform_get_drvdata in gpio_extcon_remove() returns NULL.
>
> Also add missing free_irq call in gpio_extcon_remove().
>
> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx>

Thanks!


Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>

I'll apply this patch to the extcon-for-next.
I would appear in http://git.infradead.org/users/kmpark/linux-samsung/shortlog/refs/heads/extcon-for-next soon after syncing servers.


Cheers!
MyungJoo

> ---
> drivers/extcon/extcon_gpio.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/extcon/extcon_gpio.c b/drivers/extcon/extcon_gpio.c
> index fe7a07b..8a0dcc1 100644
> --- a/drivers/extcon/extcon_gpio.c
> +++ b/drivers/extcon/extcon_gpio.c
> @@ -125,6 +125,7 @@ static int __devinit gpio_extcon_probe(struct platform_device *pdev)
> if (ret < 0)
> goto err_request_irq;
>
> + platform_set_drvdata(pdev, extcon_data);
> /* Perform initial detection */
> gpio_extcon_work(&extcon_data->work.work);
>
> @@ -146,6 +147,7 @@ static int __devexit gpio_extcon_remove(struct platform_device *pdev)
> struct gpio_extcon_data *extcon_data = platform_get_drvdata(pdev);
>
> cancel_delayed_work_sync(&extcon_data->work);
> + free_irq(extcon_data->irq, extcon_data);
> gpio_free(extcon_data->gpio);
> extcon_dev_unregister(&extcon_data->edev);
> devm_kfree(&pdev->dev, extcon_data);
> --
> 1.7.9.5
>
N떑꿩ìr¸›y鉉싕b²XФ푤vØ^–)頻{.nÇ+돴¥Š{±묎çzX㎍썳變}©옽Æ zÚ&j:+v돣¾«묎çzZ+€Ê+zf"·hš닱~넮녬iÿ鎬z¹®wⅱ¸?솳鈺Ú&¢)刪f뷌^j푹y§m끷@A«a뛴ÿ 0띠h®å’i