* [PATCH v3 0/3] usb: ohci-at91: various improvements
@ 2013-12-05 9:54 Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap Boris BREZILLON
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Boris BREZILLON @ 2013-12-05 9:54 UTC (permalink / raw)
To: Douglas Gilbert, Nicolas Ferre, Tomasz Figa, Alan Stern,
Greg Kroah-Hartman, Sergei Shtylyov
Cc: Grant Likely, linux-usb, linux-kernel, linux-arm-kernel, Boris BREZILLON
Hello,
This patch series moves the different driver resources (clks and iomem)
retrieval to the device managed versions (devm_ functions).
Best Regards,
Boris
Changes since v2:
- split urgent fix and resource retrieval improvements
Boris BREZILLON (3):
usb: ohci-at91: replace request_mem_region + ioremap by
devm_request_and_ioremap
usb: ohci-at91: use dev variable instead of &pdev->dev
usb: ohci-at91: use device managed clk retrieval
drivers/usb/host/ohci-at91.c | 64 +++++++++++-------------------------------
1 file changed, 17 insertions(+), 47 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap
2013-12-05 9:54 [PATCH v3 0/3] usb: ohci-at91: various improvements Boris BREZILLON
@ 2013-12-05 9:54 ` Boris BREZILLON
2013-12-05 20:33 ` Sergei Shtylyov
2013-12-05 9:54 ` [PATCH v3 2/3] usb: ohci-at91: use dev variable instead of &pdev->dev Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 3/3] usb: ohci-at91: use device managed clk retrieval Boris BREZILLON
2 siblings, 1 reply; 5+ messages in thread
From: Boris BREZILLON @ 2013-12-05 9:54 UTC (permalink / raw)
To: Douglas Gilbert, Nicolas Ferre, Tomasz Figa, Alan Stern,
Greg Kroah-Hartman, Sergei Shtylyov
Cc: Grant Likely, linux-usb, linux-kernel, linux-arm-kernel, Boris BREZILLON
Replace the request_mem_region + ioremap calls by the
devm_request_and_ioremap 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 | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 7aec6ca..8528895 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -157,24 +157,18 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
hcd->rsrc_start = mem_r->start;
hcd->rsrc_len = resource_size(mem_r);
- 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);
+ hcd->regs = devm_request_and_ioremap(dev, mem_r);
if (!hcd->regs) {
- pr_debug("ioremap failed\n");
+ dev_dbg(dev, "devm_request_and_ioremap failed\n");
retval = -EIO;
- goto err2;
+ 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)) {
@@ -218,13 +212,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;
}
@@ -247,8 +235,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))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/3] usb: ohci-at91: use dev variable instead of &pdev->dev
2013-12-05 9:54 [PATCH v3 0/3] usb: ohci-at91: various improvements Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap Boris BREZILLON
@ 2013-12-05 9:54 ` Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 3/3] usb: ohci-at91: use device managed clk retrieval Boris BREZILLON
2 siblings, 0 replies; 5+ messages in thread
From: Boris BREZILLON @ 2013-12-05 9:54 UTC (permalink / raw)
To: Douglas Gilbert, Nicolas Ferre, Tomasz Figa, Alan Stern,
Greg Kroah-Hartman, Sergei Shtylyov
Cc: Grant Likely, linux-usb, linux-kernel, linux-arm-kernel, Boris BREZILLON
Make use of the dev variable instead of referencing the dev field of the
pdev struct.
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 | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 8528895..2a86e32 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -151,7 +151,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
return -ENODEV;
}
- hcd = usb_create_hcd(driver, &pdev->dev, "at91");
+ hcd = usb_create_hcd(driver, dev, "at91");
if (!hcd)
return -ENOMEM;
hcd->rsrc_start = mem_r->start;
@@ -164,28 +164,28 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
goto err;
}
- iclk = clk_get(&pdev->dev, "ohci_clk");
+ iclk = clk_get(dev, "ohci_clk");
if (IS_ERR(iclk)) {
- dev_err(&pdev->dev, "failed to get ohci_clk\n");
+ dev_err(dev, "failed to get ohci_clk\n");
retval = PTR_ERR(iclk);
goto err;
}
- fclk = clk_get(&pdev->dev, "uhpck");
+ fclk = clk_get(dev, "uhpck");
if (IS_ERR(fclk)) {
- dev_err(&pdev->dev, "failed to get uhpck\n");
+ dev_err(dev, "failed to get uhpck\n");
retval = PTR_ERR(fclk);
goto err4;
}
- hclk = clk_get(&pdev->dev, "hclk");
+ hclk = clk_get(dev, "hclk");
if (IS_ERR(hclk)) {
- dev_err(&pdev->dev, "failed to get hclk\n");
+ dev_err(dev, "failed to get hclk\n");
retval = PTR_ERR(hclk);
goto err5;
}
if (IS_ENABLED(CONFIG_COMMON_CLK)) {
- uclk = clk_get(&pdev->dev, "usb_clk");
+ uclk = clk_get(dev, "usb_clk");
if (IS_ERR(uclk)) {
- dev_err(&pdev->dev, "failed to get uclk\n");
+ dev_err(dev, "failed to get uclk\n");
retval = PTR_ERR(uclk);
goto err6;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 3/3] usb: ohci-at91: use device managed clk retrieval
2013-12-05 9:54 [PATCH v3 0/3] usb: ohci-at91: various improvements Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 2/3] usb: ohci-at91: use dev variable instead of &pdev->dev Boris BREZILLON
@ 2013-12-05 9:54 ` Boris BREZILLON
2 siblings, 0 replies; 5+ messages in thread
From: Boris BREZILLON @ 2013-12-05 9:54 UTC (permalink / raw)
To: Douglas Gilbert, Nicolas Ferre, Tomasz Figa, Alan Stern,
Greg Kroah-Hartman, Sergei Shtylyov
Cc: Grant Likely, linux-usb, linux-kernel, linux-arm-kernel, Boris BREZILLON
Replace clk_get calls by devm_clk_get calls.
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 | 30 +++++++-----------------------
1 file changed, 7 insertions(+), 23 deletions(-)
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 2a86e32..7b2ccd3 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -164,30 +164,30 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
goto err;
}
- iclk = clk_get(dev, "ohci_clk");
+ iclk = devm_clk_get(dev, "ohci_clk");
if (IS_ERR(iclk)) {
dev_err(dev, "failed to get ohci_clk\n");
retval = PTR_ERR(iclk);
goto err;
}
- fclk = clk_get(dev, "uhpck");
+ fclk = devm_clk_get(dev, "uhpck");
if (IS_ERR(fclk)) {
dev_err(dev, "failed to get uhpck\n");
retval = PTR_ERR(fclk);
- goto err4;
+ goto err;
}
- hclk = clk_get(dev, "hclk");
+ hclk = devm_clk_get(dev, "hclk");
if (IS_ERR(hclk)) {
dev_err(dev, "failed to get hclk\n");
retval = PTR_ERR(hclk);
- goto err5;
+ goto err;
}
if (IS_ENABLED(CONFIG_COMMON_CLK)) {
- uclk = clk_get(dev, "usb_clk");
+ uclk = devm_clk_get(dev, "usb_clk");
if (IS_ERR(uclk)) {
dev_err(dev, "failed to get uclk\n");
retval = PTR_ERR(uclk);
- goto err6;
+ goto err;
}
}
@@ -203,15 +203,6 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
/* Error handling */
at91_stop_hc(pdev);
- if (IS_ENABLED(CONFIG_COMMON_CLK))
- clk_put(uclk);
- err6:
- clk_put(hclk);
- err5:
- clk_put(fclk);
- err4:
- clk_put(iclk);
-
err:
usb_put_hcd(hcd);
return retval;
@@ -236,13 +227,6 @@ static void usb_hcd_at91_remove(struct usb_hcd *hcd,
usb_remove_hcd(hcd);
at91_stop_hc(pdev);
usb_put_hcd(hcd);
-
- if (IS_ENABLED(CONFIG_COMMON_CLK))
- clk_put(uclk);
- clk_put(hclk);
- clk_put(fclk);
- clk_put(iclk);
- fclk = iclk = hclk = NULL;
}
/*-------------------------------------------------------------------------*/
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap
2013-12-05 9:54 ` [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap Boris BREZILLON
@ 2013-12-05 20:33 ` Sergei Shtylyov
0 siblings, 0 replies; 5+ messages in thread
From: Sergei Shtylyov @ 2013-12-05 20:33 UTC (permalink / raw)
To: Boris BREZILLON, Douglas Gilbert, Nicolas Ferre, Tomasz Figa,
Alan Stern, Greg Kroah-Hartman
Cc: Grant Likely, linux-usb, linux-kernel, linux-arm-kernel
Hello.
On 12/05/2013 12:54 PM, Boris BREZILLON wrote:
> Replace the request_mem_region + ioremap calls by the
> devm_request_and_ioremap 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 | 24 +++++-------------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 7aec6ca..8528895 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -157,24 +157,18 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
> hcd->rsrc_start = mem_r->start;
> hcd->rsrc_len = resource_size(mem_r);
>
> - 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);
> + hcd->regs = devm_request_and_ioremap(dev, mem_r);
This function is already deprecated, use devm_ioremap_resource() instead
(it returns error pointer, not NULL on error).
> if (!hcd->regs) {
> - pr_debug("ioremap failed\n");
> + dev_dbg(dev, "devm_request_and_ioremap failed\n");
There's no need -- those functions print error messages themselves.
> retval = -EIO;
> - goto err2;
> + goto err;
> }
[...]
WBR, Sergei
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-12-05 19:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-05 9:54 [PATCH v3 0/3] usb: ohci-at91: various improvements Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 1/3] usb: ohci-at91: replace request_mem_region + ioremap by devm_request_and_ioremap Boris BREZILLON
2013-12-05 20:33 ` Sergei Shtylyov
2013-12-05 9:54 ` [PATCH v3 2/3] usb: ohci-at91: use dev variable instead of &pdev->dev Boris BREZILLON
2013-12-05 9:54 ` [PATCH v3 3/3] usb: ohci-at91: use device managed clk retrieval Boris BREZILLON
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).