lkml.org 
[lkml]   [2014]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 7/8] extcon: palmas: Use devm_extcon_dev_register()
    Date
    Use the resource-managed extcon device register function (i.e.
    devm_extcon_dev_register()) instead of extcon_dev_register(). If extcon device
    is attached with this function, that extcon device is automatically unregistered
    on driver detach. That reduces tiresome managing code.

    Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
    ---
    drivers/extcon/extcon-palmas.c | 15 +++++----------
    1 file changed, 5 insertions(+), 10 deletions(-)

    diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
    index 51db5bc..1a770e0 100644
    --- a/drivers/extcon/extcon-palmas.c
    +++ b/drivers/extcon/extcon-palmas.c
    @@ -192,7 +192,7 @@ static int palmas_usb_probe(struct platform_device *pdev)
    palmas_usb->edev.name = kstrdup(node->name, GFP_KERNEL);
    palmas_usb->edev.mutually_exclusive = mutually_exclusive;

    - status = extcon_dev_register(&palmas_usb->edev);
    + status = devm_extcon_dev_register(&pdev->dev, &palmas_usb->edev);
    if (status) {
    dev_err(&pdev->dev, "failed to register extcon device\n");
    kfree(palmas_usb->edev.name);
    @@ -209,7 +209,8 @@ static int palmas_usb_probe(struct platform_device *pdev)
    if (status < 0) {
    dev_err(&pdev->dev, "can't get IRQ %d, err %d\n",
    palmas_usb->id_irq, status);
    - goto fail_extcon;
    + kfree(palmas_usb->edev.name);
    + return status;
    }
    }

    @@ -223,26 +224,20 @@ static int palmas_usb_probe(struct platform_device *pdev)
    if (status < 0) {
    dev_err(&pdev->dev, "can't get IRQ %d, err %d\n",
    palmas_usb->vbus_irq, status);
    - goto fail_extcon;
    + kfree(palmas_usb->edev.name);
    + return status;
    }
    }

    palmas_enable_irq(palmas_usb);
    device_set_wakeup_capable(&pdev->dev, true);
    return 0;
    -
    -fail_extcon:
    - extcon_dev_unregister(&palmas_usb->edev);
    - kfree(palmas_usb->edev.name);
    -
    - return status;
    }

    static int palmas_usb_remove(struct platform_device *pdev)
    {
    struct palmas_usb *palmas_usb = platform_get_drvdata(pdev);

    - extcon_dev_unregister(&palmas_usb->edev);
    kfree(palmas_usb->edev.name);

    return 0;
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2014-04-16 13:21    [W:2.500 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site