Message ID | 1386514980-6383-2-git-send-email-b.brezillon@overkiz.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hello. On 12/08/2013 06:02 PM, Boris BREZILLON wrote: > Replace the request_mem_region + ioremap calls by the > devm_ioremap_resource call which does the same things but with device > managed resources. > Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com> > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> > Signed-off-by: Alan Stern <stern@rowland.harvard.edu> > --- > drivers/usb/host/ohci-at91.c | 28 +++++++--------------------- > 1 file changed, 7 insertions(+), 21 deletions(-) > diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c > index 8c356af..fe2ecc5 100644 > --- a/drivers/usb/host/ohci-at91.c > +++ b/drivers/usb/host/ohci-at91.c > @@ -158,24 +158,18 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver, > 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\n"); > - retval = -EBUSY; > - goto err1; > - } > - > - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); > - if (!hcd->regs) { > - pr_debug("ioremap failed\n"); > - retval = -EIO; > - goto err2; > + hcd->regs = devm_ioremap_resource(dev, res); > + if (IS_ERR(hcd->regs)) { > + dev_dbg(dev, "devm_ioremap_resource failed\n"); I've already told you devm_ioremap_resource() prints the detailed error message. No need to duplicate it. > + retval = PTR_ERR(hcd->regs); > + goto err; > } WBR, Sergei
Hello, Le 08/12/2013 19:31, Sergei Shtylyov a écrit : > Hello. > > On 12/08/2013 06:02 PM, Boris BREZILLON wrote: > >> Replace the request_mem_region + ioremap calls by the >> devm_ioremap_resource call which does the same things but with device >> managed resources. > >> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com> >> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> >> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> >> --- >> drivers/usb/host/ohci-at91.c | 28 +++++++--------------------- >> 1 file changed, 7 insertions(+), 21 deletions(-) > >> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c >> index 8c356af..fe2ecc5 100644 >> --- a/drivers/usb/host/ohci-at91.c >> +++ b/drivers/usb/host/ohci-at91.c >> @@ -158,24 +158,18 @@ static int usb_hcd_at91_probe(const struct >> hc_driver *driver, >> 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\n"); >> - retval = -EBUSY; >> - goto err1; >> - } >> - >> - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); >> - if (!hcd->regs) { >> - pr_debug("ioremap failed\n"); >> - retval = -EIO; >> - goto err2; >> + hcd->regs = devm_ioremap_resource(dev, res); >> + if (IS_ERR(hcd->regs)) { >> + dev_dbg(dev, "devm_ioremap_resource failed\n"); > > I've already told you devm_ioremap_resource() prints the detailed > error message. No need to duplicate it. > Oops, sorry, this is an oversight. I'll send a new version removing this line. Best Regards, Boris >> + retval = PTR_ERR(hcd->regs); >> + goto err; >> } > > WBR, Sergei >
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c index 8c356af..fe2ecc5 100644 --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c @@ -158,24 +158,18 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver, 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\n"); - retval = -EBUSY; - goto err1; - } - - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); - if (!hcd->regs) { - pr_debug("ioremap failed\n"); - retval = -EIO; - goto err2; + hcd->regs = devm_ioremap_resource(dev, res); + if (IS_ERR(hcd->regs)) { + dev_dbg(dev, "devm_ioremap_resource failed\n"); + retval = PTR_ERR(hcd->regs); + goto err; } iclk = clk_get(&pdev->dev, "ohci_clk"); if (IS_ERR(iclk)) { dev_err(&pdev->dev, "failed to get ohci_clk\n"); retval = PTR_ERR(iclk); - goto err3; + goto err; } fclk = clk_get(&pdev->dev, "uhpck"); if (IS_ERR(fclk)) { @@ -219,13 +213,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver, err4: clk_put(iclk); - err3: - iounmap(hcd->regs); - - err2: - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); - - err1: + err: usb_put_hcd(hcd); return retval; } @@ -248,8 +236,6 @@ static void usb_hcd_at91_remove(struct usb_hcd *hcd, { usb_remove_hcd(hcd); at91_stop_hc(pdev); - iounmap(hcd->regs); - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); usb_put_hcd(hcd); if (IS_ENABLED(CONFIG_COMMON_CLK))