lkml.org 
[lkml]   [2012]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/7] drivers/usb/host/ehci-vt8500.c: use devm_ functions
    Date
    From: Julia Lawall <Julia.Lawall@lip6.fr>

    The various devm_ functions allocate memory that is released when a driver
    detaches. This patch uses these functions for data that is allocated in
    the probe function of a platform device and is only freed in the remove
    function.

    Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

    ---
    Not compiled

    drivers/usb/host/ehci-vt8500.c | 15 ++-------------
    1 file changed, 2 insertions(+), 13 deletions(-)

    diff --git a/drivers/usb/host/ehci-vt8500.c b/drivers/usb/host/ehci-vt8500.c
    index 4d147c4..a891617 100644
    --- a/drivers/usb/host/ehci-vt8500.c
    +++ b/drivers/usb/host/ehci-vt8500.c
    @@ -106,17 +106,11 @@ static int vt8500_ehci_drv_probe(struct platform_device *pdev)
    hcd->rsrc_start = res->start;
    hcd->rsrc_len = resource_size(res);

    - if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {
    - pr_debug("request_mem_region failed");
    - ret = -EBUSY;
    - goto err1;
    - }
    -
    - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);
    + hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
    if (!hcd->regs) {
    pr_debug("ioremap failed");
    ret = -ENOMEM;
    - goto err2;
    + goto err1;
    }

    ehci = hcd_to_ehci(hcd);
    @@ -129,9 +123,6 @@ static int vt8500_ehci_drv_probe(struct platform_device *pdev)
    return ret;
    }

    - iounmap(hcd->regs);
    -err2:
    - release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
    err1:
    usb_put_hcd(hcd);
    return ret;
    @@ -142,8 +133,6 @@ static int vt8500_ehci_drv_remove(struct platform_device *pdev)
    struct usb_hcd *hcd = platform_get_drvdata(pdev);

    usb_remove_hcd(hcd);
    - iounmap(hcd->regs);
    - release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
    usb_put_hcd(hcd);
    platform_set_drvdata(pdev, NULL);



    \
     
     \ /
      Last update: 2012-07-30 17:41    [W:0.025 / U:21.664 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site