Message ID | 1358762966-20791-13-git-send-email-thierry.reding@avionic-design.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 >
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
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
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
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 --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);
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(-)