public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: shubhrajyoti@ti•com (Shubhrajyoti)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 2/5] gpio/omap: Use devm_ API and add request_mem_region
Date: Thu, 16 Feb 2012 12:07:14 +0530	[thread overview]
Message-ID: <4F3CA41A.4020800@ti.com> (raw)
In-Reply-To: <CAC83ZvKuOkLKdAVNeoVjRZriouDCGPXPhkZZ+MgcktH+9pYN3w@mail.gmail.com>

On Thursday 16 February 2012 11:11 AM, DebBarma, Tarun Kanti wrote:
> Hi Benoit,
>
> On Wed, Feb 15, 2012 at 9:34 PM, Benoit Cousson <b-cousson@ti•com> wrote:
>> Replace the regular kzalloc and ioremap with the devm_ equivalent
>> to simplify error handling.
>>
>> Add the missing devm_request_mem_region to reserve the region used
>> by the driver.
>>
>> Signed-off-by: Benoit Cousson <b-cousson@ti•com>
>> Cc: Tarun Kanti DebBarma <tarun.kanti@ti•com>
>> ---
>>  drivers/gpio/gpio-omap.c |   35 +++++++++++++++--------------------
>>  1 files changed, 15 insertions(+), 20 deletions(-)
>>
>> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
>> index a0c3e03..c3a9dc8 100644
>> --- a/drivers/gpio/gpio-omap.c
>> +++ b/drivers/gpio/gpio-omap.c
>> @@ -19,7 +19,7 @@
>>  #include <linux/err.h>
>>  #include <linux/clk.h>
>>  #include <linux/io.h>
>> -#include <linux/slab.h>
>> +#include <linux/device.h>
>>  #include <linux/pm_runtime.h>
>>  #include <linux/pm.h>
>>
>> @@ -1052,23 +1052,19 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
>>        struct gpio_bank *bank;
>>        int ret = 0;
>>
>> -       if (!dev->platform_data) {
>> -               ret = -EINVAL;
>> -               goto err_exit;
>> -       }
>> +       if (!dev->platform_data)
>> +               return -EINVAL;
>>
>> -       bank = kzalloc(sizeof(struct gpio_bank), GFP_KERNEL);
>> +       bank = devm_kzalloc(&pdev->dev, sizeof(struct gpio_bank), GFP_KERNEL);
>>        if (!bank) {
>>                dev_err(dev, "Memory alloc failed\n");
>> -               ret = -ENOMEM;
>> -               goto err_exit;
>> +               return -ENOMEM;
>>        }
>>
>>        res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
>>        if (unlikely(!res)) {
>>                dev_err(dev, "Invalid IRQ resource\n");
>> -               ret = -ENODEV;
>> -               goto err_free;
>> +               return -ENODEV;
> How is the memory allocated to 'bank' getting freed before return -ENODEV?

I think that may not be needed

See http://www.kernel.org/doc/htmldocs/device-drivers/API-devm-kzalloc.html



>>        }
>>
>>        bank->irq = res->start;
>> @@ -1096,15 +1092,19 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
>>        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>        if (unlikely(!res)) {
>>                dev_err(dev, "Invalid mem resource\n");
>> -               ret = -ENODEV;
>> -               goto err_free;
>> +               return -ENODEV;
> And here?
>
>> +       }
>> +
>> +       if (!devm_request_mem_region(dev, res->start, resource_size(res),
>> +                                    pdev->name)) {
>> +               dev_err(dev, "Region already claimed\n");
>> +               return -EBUSY;
>>        }
>>
>> -       bank->base = ioremap(res->start, resource_size(res));
>> +       bank->base = devm_ioremap(dev, res->start, resource_size(res));
>>        if (!bank->base) {
>>                dev_err(dev, "Could not ioremap\n");
>> -               ret = -ENOMEM;
>> -               goto err_free;
>> +               return -ENOMEM;
> And here?
> --
> Tarun
>>        }
>>
>>        platform_set_drvdata(pdev, bank);
>> @@ -1125,11 +1125,6 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
>>        list_add_tail(&bank->node, &omap_gpio_list);
>>
>>        return ret;
>> -
>> -err_free:
>> -       kfree(bank);
>> -err_exit:
>> -       return ret;
>>  }
>>
>>  #ifdef CONFIG_ARCH_OMAP2PLUS
>> --
>> 1.7.0.4
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-02-16  6:37 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-15 16:04 [PATCH 0/5] gpio/omap: Cleanup and adaptation to Device Tree Benoit Cousson
2012-02-15 16:04 ` [PATCH 1/5] gpio/omap: Remove bank->id information and misc cleanup Benoit Cousson
2012-02-16  5:53   ` DebBarma, Tarun Kanti
2012-02-16  9:33     ` Cousson, Benoit
2012-02-15 16:04 ` [PATCH 2/5] gpio/omap: Use devm_ API and add request_mem_region Benoit Cousson
2012-02-16  5:41   ` DebBarma, Tarun Kanti
2012-02-16  6:35     ` Grant Likely
2012-02-16  7:11       ` DebBarma, Tarun Kanti
2012-02-16  6:37     ` Shubhrajyoti [this message]
2012-02-16  8:56       ` Cousson, Benoit
2012-02-15 16:04 ` [PATCH 3/5] gpio/omap: Add DT support to GPIO driver Benoit Cousson
2012-02-22 14:23   ` Rob Herring
2012-02-22 14:31     ` Cousson, Benoit
2012-02-22 17:23       ` Rob Herring
2012-02-22 18:29         ` Stephen Warren
2012-02-24 15:30           ` Cousson, Benoit
2013-02-26 10:01             ` Javier Martinez Canillas
2013-02-26 16:33               ` Stephen Warren
2013-02-26 22:40               ` Jon Hunter
2013-02-26 22:44                 ` Stephen Warren
2013-02-26 23:01                   ` Jon Hunter
2013-02-26 23:06                     ` Stephen Warren
2013-02-26 23:45                       ` Jon Hunter
2013-02-27  0:13                         ` Stephen Warren
2013-02-27  1:07                           ` Jon Hunter
2013-02-27  3:57                             ` Javier Martinez Canillas
2013-02-27 17:50                               ` Stephen Warren
2013-02-27 20:05                                 ` Javier Martinez Canillas
2013-02-27 23:16                               ` Jon Hunter
2013-02-28 12:17                                 ` Javier Martinez Canillas
2013-02-28 20:49                                   ` Jon Hunter
2013-03-02 20:05                     ` Grant Likely
2013-03-07 23:14                       ` Jon Hunter
2013-03-15 11:21                         ` Javier Martinez Canillas
2013-03-22  8:10                           ` Linus Walleij
2013-03-22 15:33                             ` Stephen Warren
2013-03-22 22:52                               ` Jon Hunter
2013-03-27 13:52                                 ` Linus Walleij
2013-03-27 16:09                                   ` Stephen Warren
2013-03-27 20:55                                     ` Linus Walleij
2013-03-29 17:01                                       ` Stephen Warren
2013-04-10 18:12                                         ` Linus Walleij
2013-04-10 20:29                                           ` Stephen Warren
2013-04-10 21:28                                             ` Linus Walleij
2013-04-11 20:30                                               ` Stephen Warren
2013-04-11 22:16                                                 ` Linus Walleij
2013-04-11 22:47                                                   ` Stephen Warren
2013-04-14  1:35                                                     ` Javier Martinez Canillas
2013-04-14 20:53                                                       ` Linus Walleij
2013-04-15 11:25                                                         ` Javier Martinez Canillas
2013-04-15 16:58                                                         ` Stephen Warren
2013-04-15 21:40                                                           ` Jon Hunter
2013-04-15 21:44                                                             ` Jon Hunter
2013-04-15 22:16                                                             ` Stephen Warren
2013-04-15 23:04                                                               ` Jon Hunter
2013-04-16 18:40                                                                 ` Stephen Warren
2013-04-16 19:27                                                                   ` Jon Hunter
2013-04-16 21:57                                                                     ` Jon Hunter
2013-04-16 22:11                                                                     ` Stephen Warren
2013-04-16 23:14                                                                       ` Jon Hunter
2013-04-17  0:41                                                                         ` Javier Martinez Canillas
2013-04-17  2:00                                                                           ` Jon Hunter
2013-04-17  7:55                                                                             ` Javier Martinez Canillas
2013-04-17 13:25                                                                               ` Jon Hunter
2013-04-17 13:42                                                                                 ` Javier Martinez Canillas
2013-04-17 13:52                                                                                   ` Jon Hunter
2013-04-17 14:21                                                                                     ` Javier Martinez Canillas
2013-04-17 16:18                                                                                     ` Javier Martinez Canillas
2013-04-26  7:31                                                                           ` Linus Walleij
2013-04-26 21:31                                                                             ` Jon Hunter
2013-06-11 21:25                                                                               ` Grant Likely
2013-06-12  9:43                                                                                 ` Linus Walleij
2013-04-17 15:41                                                                         ` Stephen Warren
2013-04-26  7:27                                                                           ` Linus Walleij
2013-04-26 21:25                                                                             ` Jon Hunter
2013-05-03 14:35                                                                               ` Linus Walleij
2013-04-26  7:11                                                             ` Linus Walleij
2013-04-26  6:59                                                           ` Linus Walleij
2013-04-15 16:53                                                       ` Stephen Warren
2013-04-15 20:00                                                         ` Jon Hunter
2013-04-11 22:49                                                   ` Javier Martinez Canillas
2013-04-11 22:51                                                   ` Stephen Warren
2013-04-10 21:44                                             ` Arnd Bergmann
2013-02-27  3:33                 ` Javier Martinez Canillas
2013-02-27 17:47                   ` Stephen Warren
2013-02-27 20:00                     ` Javier Martinez Canillas
2013-02-26 23:08               ` Jon Hunter
2013-02-27  3:47                 ` Javier Martinez Canillas
2013-02-27 20:13                   ` Jon Hunter
2013-02-27 23:41   ` Linus Walleij
2013-02-28 13:04     ` Benoit Cousson
2013-03-01  0:09       ` Linus Walleij
2013-03-01  0:42         ` Jon Hunter
2012-02-15 16:04 ` [PATCH 4/5] arm/dts: OMAP4: Add gpio nodes Benoit Cousson
2012-02-15 16:04 ` [PATCH 5/5] arm/dts: OMAP3: " Benoit Cousson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F3CA41A.4020800@ti.com \
    --to=shubhrajyoti@ti$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox