diff mbox

[12/33] Input: Convert to devm_ioremap_resource()

Message ID 1358762966-20791-13-git-send-email-thierry.reding@avionic-design.de (mailing list archive)
State New, archived
Headers show

Commit Message

Thierry Reding Jan. 21, 2013, 10:09 a.m. UTC
Convert all uses of devm_request_and_ioremap() to the newly introduced
devm_ioremap_resource() which provides more consistent error handling.

devm_ioremap_resource() provides its own error messages so all explicit
error messages can be removed from the failure code paths.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
---
 drivers/input/keyboard/spear-keyboard.c | 8 +++-----
 drivers/input/serio/arc_ps2.c           | 7 ++++---
 2 files changed, 7 insertions(+), 8 deletions(-)

Comments

Dmitry Torokhov Jan. 21, 2013, 10:27 a.m. UTC | #1
On Mon, Jan 21, 2013 at 11:09:05AM +0100, Thierry Reding wrote:
> Convert all uses of devm_request_and_ioremap() to the newly introduced
> devm_ioremap_resource() which provides more consistent error handling.
> 
> devm_ioremap_resource() provides its own error messages so all explicit
> error messages can be removed from the failure code paths.
> 
> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

> Cc: linux-input@vger.kernel.org
> ---
>  drivers/input/keyboard/spear-keyboard.c | 8 +++-----
>  drivers/input/serio/arc_ps2.c           | 7 ++++---
>  2 files changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c
> index 695d237..cb1e8f6 100644
> --- a/drivers/input/keyboard/spear-keyboard.c
> +++ b/drivers/input/keyboard/spear-keyboard.c
> @@ -228,11 +228,9 @@ static int spear_kbd_probe(struct platform_device *pdev)
>  		kbd->suspended_rate = pdata->suspended_rate;
>  	}
>  
> -	kbd->io_base = devm_request_and_ioremap(&pdev->dev, res);
> -	if (!kbd->io_base) {
> -		dev_err(&pdev->dev, "request-ioremap failed for kbd_region\n");
> -		return -ENOMEM;
> -	}
> +	kbd->io_base = devm_ioremap_resource(&pdev->dev, res);
> +	if (IS_ERR(kbd->io_base))
> +		return PTR_ERR(kbd->io_base);
>  
>  	kbd->clk = devm_clk_get(&pdev->dev, NULL);
>  	if (IS_ERR(kbd->clk))
> diff --git a/drivers/input/serio/arc_ps2.c b/drivers/input/serio/arc_ps2.c
> index b571eb3..c52e3e5 100644
> --- a/drivers/input/serio/arc_ps2.c
> +++ b/drivers/input/serio/arc_ps2.c
> @@ -8,6 +8,7 @@
>   * Driver is originally developed by Pavel Sokolov <psokolov@synopsys.com>
>   */
>  
> +#include <linux/err.h>
>  #include <linux/module.h>
>  #include <linux/interrupt.h>
>  #include <linux/input.h>
> @@ -206,9 +207,9 @@ static int arc_ps2_probe(struct platform_device *pdev)
>  		return -ENOMEM;
>  	}
>  
> -	arc_ps2->addr = devm_request_and_ioremap(&pdev->dev, res);
> -	if (!arc_ps2->addr)
> -		return -EBUSY;
> +	arc_ps2->addr = devm_ioremap_resource(&pdev->dev, res);
> +	if (IS_ERR(arc_ps2->addr))
> +		return PTR_ERR(arc_ps2->addr);
>  
>  	dev_info(&pdev->dev, "irq = %d, address = 0x%p, ports = %i\n",
>  		 irq, arc_ps2->addr, ARC_PS2_PORTS);
> -- 
> 1.8.1.1
>
Viresh Kumar Jan. 21, 2013, 10:45 a.m. UTC | #2
On Mon, Jan 21, 2013 at 3:39 PM, Thierry Reding
<thierry.reding@avionic-design.de> wrote:
> diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c
> @@ -228,11 +228,9 @@ static int spear_kbd_probe(struct platform_device *pdev)
>                 kbd->suspended_rate = pdata->suspended_rate;
>         }
>
> -       kbd->io_base = devm_request_and_ioremap(&pdev->dev, res);
> -       if (!kbd->io_base) {
> -               dev_err(&pdev->dev, "request-ioremap failed for kbd_region\n");

I would like to keep this error message as is.

> -               return -ENOMEM;
> -       }
> +       kbd->io_base = devm_ioremap_resource(&pdev->dev, res);
> +       if (IS_ERR(kbd->io_base))
> +               return PTR_ERR(kbd->io_base);

apart from that, for SPEAr

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thierry Reding Jan. 21, 2013, 10:49 a.m. UTC | #3
On Mon, Jan 21, 2013 at 04:15:35PM +0530, Viresh Kumar wrote:
> On Mon, Jan 21, 2013 at 3:39 PM, Thierry Reding
> <thierry.reding@avionic-design.de> wrote:
> > diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c
> > @@ -228,11 +228,9 @@ static int spear_kbd_probe(struct platform_device *pdev)
> >                 kbd->suspended_rate = pdata->suspended_rate;
> >         }
> >
> > -       kbd->io_base = devm_request_and_ioremap(&pdev->dev, res);
> > -       if (!kbd->io_base) {
> > -               dev_err(&pdev->dev, "request-ioremap failed for kbd_region\n");
> 
> I would like to keep this error message as is.

Can you specify why? devm_request_and_ioremap() and the new
devm_ioremap_resource() both already output an error message if they
can't request or ioremap the memory region, so all this does is output a
duplicate error message.

Thierry
Viresh Kumar Jan. 21, 2013, 10:57 a.m. UTC | #4
On 21 January 2013 16:19, Thierry Reding
<thierry.reding@avionic-design.de> wrote:
> Can you specify why? devm_request_and_ioremap() and the new
> devm_ioremap_resource() both already output an error message if they
> can't request or ioremap the memory region, so all this does is output a
> duplicate error message.

because i missed implementations of these routines.. Ignore this comment
wherever i gave it :)
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thierry Reding Jan. 21, 2013, 11 a.m. UTC | #5
On Mon, Jan 21, 2013 at 04:27:03PM +0530, Viresh Kumar wrote:
> On 21 January 2013 16:19, Thierry Reding
> <thierry.reding@avionic-design.de> wrote:
> > Can you specify why? devm_request_and_ioremap() and the new
> > devm_ioremap_resource() both already output an error message if they
> > can't request or ioremap the memory region, so all this does is output a
> > duplicate error message.
> 
> because i missed implementations of these routines.. Ignore this comment
> wherever i gave it :)

Done. =)
diff mbox

Patch

diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c
index 695d237..cb1e8f6 100644
--- a/drivers/input/keyboard/spear-keyboard.c
+++ b/drivers/input/keyboard/spear-keyboard.c
@@ -228,11 +228,9 @@  static int spear_kbd_probe(struct platform_device *pdev)
 		kbd->suspended_rate = pdata->suspended_rate;
 	}
 
-	kbd->io_base = devm_request_and_ioremap(&pdev->dev, res);
-	if (!kbd->io_base) {
-		dev_err(&pdev->dev, "request-ioremap failed for kbd_region\n");
-		return -ENOMEM;
-	}
+	kbd->io_base = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(kbd->io_base))
+		return PTR_ERR(kbd->io_base);
 
 	kbd->clk = devm_clk_get(&pdev->dev, NULL);
 	if (IS_ERR(kbd->clk))
diff --git a/drivers/input/serio/arc_ps2.c b/drivers/input/serio/arc_ps2.c
index b571eb3..c52e3e5 100644
--- a/drivers/input/serio/arc_ps2.c
+++ b/drivers/input/serio/arc_ps2.c
@@ -8,6 +8,7 @@ 
  * Driver is originally developed by Pavel Sokolov <psokolov@synopsys.com>
  */
 
+#include <linux/err.h>
 #include <linux/module.h>
 #include <linux/interrupt.h>
 #include <linux/input.h>
@@ -206,9 +207,9 @@  static int arc_ps2_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
-	arc_ps2->addr = devm_request_and_ioremap(&pdev->dev, res);
-	if (!arc_ps2->addr)
-		return -EBUSY;
+	arc_ps2->addr = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(arc_ps2->addr))
+		return PTR_ERR(arc_ps2->addr);
 
 	dev_info(&pdev->dev, "irq = %d, address = 0x%p, ports = %i\n",
 		 irq, arc_ps2->addr, ARC_PS2_PORTS);