From: Libo Chen <clbchenlibo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
To: Sachin Kamat <sachin.kamat-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Libo Chen <libo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org,
guz.fnst-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org,
sonic.zhang-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org,
uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH RFC v3 1/3] i2c: i2c-bfin-twi: convert to devm_* API
Date: Tue, 28 May 2013 14:42:22 +0800 [thread overview]
Message-ID: <51A451CE.8070801@huawei.com> (raw)
In-Reply-To: <CAK9yfHx7ifnWjKCVc0Oju-28PdosF81OpVC5S5Vdj6hDSnfQfw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
thanks for your review. I will update later.
Libo
On 2013/5/24 11:19, Sachin Kamat wrote:
> On 23 May 2013 17:30, Libo Chen <libo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org> wrote:
>> peripheral_request_list has got free if any one faild, so no need to free again in err case.
>> aovid this, convert them to devm_* API
>>
>> Signed-off-by: Libo Chen <libo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
>
> It is a good practice to include changelog while submitting revised
> versions of the patch.
>
>> ---
>> drivers/i2c/busses/i2c-bfin-twi.c | 38 +++++++++---------------------------
>> 1 files changed, 10 insertions(+), 28 deletions(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
>> index 05080c4..2b99c48 100644
>> --- a/drivers/i2c/busses/i2c-bfin-twi.c
>> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
>> @@ -621,35 +621,27 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> int rc;
>> unsigned int clkhilow;
>>
>> - iface = kzalloc(sizeof(struct bfin_twi_iface), GFP_KERNEL);
>> + iface = devm_kzalloc(&pdev->dev, sizeof(struct bfin_twi_iface),
>> + GFP_KERNEL);
>> if (!iface) {
>> dev_err(&pdev->dev, "Cannot allocate memory\n");
>
> This error message is not really required.
>
>> - rc = -ENOMEM;
>> - goto out_error_nomem;
>> + return -ENOMEM;
>> }
>>
>> spin_lock_init(&(iface->lock));
>>
>> /* Find and map our resources */
>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> - if (res == NULL) {
>> - dev_err(&pdev->dev, "Cannot get IORESOURCE_MEM\n");
>> - rc = -ENOENT;
>> - goto out_error_get_res;
>> - }
>> -
>> - iface->regs_base = ioremap(res->start, resource_size(res));
>> - if (iface->regs_base == NULL) {
>> + iface->regs_base = devm_ioremap_resource(&pdev->dev, res);
>> + if (IS_ERR(iface->regs_base)) {
>> dev_err(&pdev->dev, "Cannot map IO\n");
>
> devm_ioremap_resource prints out the error messages. So the above line
> is redundant.
>
>> - rc = -ENXIO;
>> - goto out_error_ioremap;
>> + return -ENXIO;
>
> Why not return PTR_ERR(iface->regs_base)?
>
>> }
>>
>> iface->irq = platform_get_irq(pdev, 0);
>> if (iface->irq < 0) {
>> dev_err(&pdev->dev, "No IRQ specified\n");
>> - rc = -ENOENT;
>> - goto out_error_no_irq;
>> + return -ENOENT;
>> }
>>
>> p_adap = &iface->adap;
>> @@ -666,10 +658,10 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> "i2c-bfin-twi");
>> if (rc) {
>> dev_err(&pdev->dev, "Can't setup pin mux!\n");
>> - goto out_error_pin_mux;
>> + return rc;
>> }
>>
>> - rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
>> + rc = devm_request_irq(&pdev->dev, iface->irq, bfin_twi_interrupt_entry,
>> 0, pdev->name, iface);
>> if (rc) {
>> dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
>> @@ -707,16 +699,9 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> return 0;
>>
>> out_error_add_adapter:
>> - free_irq(iface->irq, iface);
>> out_error_req_irq:
>> -out_error_no_irq:
>> peripheral_free_list((unsigned short *)pdev->dev.platform_data);
>> -out_error_pin_mux:
>> - iounmap(iface->regs_base);
>> -out_error_ioremap:
>> -out_error_get_res:
>> - kfree(iface);
>> -out_error_nomem:
>> +
>
> Empty line not required.
>
> You could probably combine all the empty labels into one meaningful label above.
>
>> return rc;
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Libo Chen <clbchenlibo.chen@huawei.com>
To: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Libo Chen <libo.chen@huawei.com>, <wsa@the-dreams.de>,
<guz.fnst@cn.fujitsu.com>, <sonic.zhang@analog.com>,
<uclinux-dist-devel@blackfin.uclinux.org>,
<linux-i2c@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<lizefan@huawei.com>
Subject: Re: [PATCH RFC v3 1/3] i2c: i2c-bfin-twi: convert to devm_* API
Date: Tue, 28 May 2013 14:42:22 +0800 [thread overview]
Message-ID: <51A451CE.8070801@huawei.com> (raw)
In-Reply-To: <CAK9yfHx7ifnWjKCVc0Oju-28PdosF81OpVC5S5Vdj6hDSnfQfw@mail.gmail.com>
thanks for your review. I will update later.
Libo
On 2013/5/24 11:19, Sachin Kamat wrote:
> On 23 May 2013 17:30, Libo Chen <libo.chen@huawei.com> wrote:
>> peripheral_request_list has got free if any one faild, so no need to free again in err case.
>> aovid this, convert them to devm_* API
>>
>> Signed-off-by: Libo Chen <libo.chen@huawei.com>
>
> It is a good practice to include changelog while submitting revised
> versions of the patch.
>
>> ---
>> drivers/i2c/busses/i2c-bfin-twi.c | 38 +++++++++---------------------------
>> 1 files changed, 10 insertions(+), 28 deletions(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
>> index 05080c4..2b99c48 100644
>> --- a/drivers/i2c/busses/i2c-bfin-twi.c
>> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
>> @@ -621,35 +621,27 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> int rc;
>> unsigned int clkhilow;
>>
>> - iface = kzalloc(sizeof(struct bfin_twi_iface), GFP_KERNEL);
>> + iface = devm_kzalloc(&pdev->dev, sizeof(struct bfin_twi_iface),
>> + GFP_KERNEL);
>> if (!iface) {
>> dev_err(&pdev->dev, "Cannot allocate memory\n");
>
> This error message is not really required.
>
>> - rc = -ENOMEM;
>> - goto out_error_nomem;
>> + return -ENOMEM;
>> }
>>
>> spin_lock_init(&(iface->lock));
>>
>> /* Find and map our resources */
>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> - if (res == NULL) {
>> - dev_err(&pdev->dev, "Cannot get IORESOURCE_MEM\n");
>> - rc = -ENOENT;
>> - goto out_error_get_res;
>> - }
>> -
>> - iface->regs_base = ioremap(res->start, resource_size(res));
>> - if (iface->regs_base == NULL) {
>> + iface->regs_base = devm_ioremap_resource(&pdev->dev, res);
>> + if (IS_ERR(iface->regs_base)) {
>> dev_err(&pdev->dev, "Cannot map IO\n");
>
> devm_ioremap_resource prints out the error messages. So the above line
> is redundant.
>
>> - rc = -ENXIO;
>> - goto out_error_ioremap;
>> + return -ENXIO;
>
> Why not return PTR_ERR(iface->regs_base)?
>
>> }
>>
>> iface->irq = platform_get_irq(pdev, 0);
>> if (iface->irq < 0) {
>> dev_err(&pdev->dev, "No IRQ specified\n");
>> - rc = -ENOENT;
>> - goto out_error_no_irq;
>> + return -ENOENT;
>> }
>>
>> p_adap = &iface->adap;
>> @@ -666,10 +658,10 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> "i2c-bfin-twi");
>> if (rc) {
>> dev_err(&pdev->dev, "Can't setup pin mux!\n");
>> - goto out_error_pin_mux;
>> + return rc;
>> }
>>
>> - rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
>> + rc = devm_request_irq(&pdev->dev, iface->irq, bfin_twi_interrupt_entry,
>> 0, pdev->name, iface);
>> if (rc) {
>> dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
>> @@ -707,16 +699,9 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>> return 0;
>>
>> out_error_add_adapter:
>> - free_irq(iface->irq, iface);
>> out_error_req_irq:
>> -out_error_no_irq:
>> peripheral_free_list((unsigned short *)pdev->dev.platform_data);
>> -out_error_pin_mux:
>> - iounmap(iface->regs_base);
>> -out_error_ioremap:
>> -out_error_get_res:
>> - kfree(iface);
>> -out_error_nomem:
>> +
>
> Empty line not required.
>
> You could probably combine all the empty labels into one meaningful label above.
>
>> return rc;
>
>
next prev parent reply other threads:[~2013-05-28 6:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-23 12:00 [PATCH RFC v3 1/3] i2c: i2c-bfin-twi: convert to devm_* API Libo Chen
2013-05-23 12:00 ` Libo Chen
[not found] ` <1369310405-21112-1-git-send-email-libo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-05-24 2:49 ` Zhang, Sonic
2013-05-24 2:49 ` Zhang, Sonic
[not found] ` <B168F8A49F4BCF4C84FD23DA5F6363EE010634-Nxh9ahLCS6GuVPpjEGsWsTcYPEmu4y7e@public.gmane.org>
2013-05-24 3:09 ` Libo Chen
2013-05-24 3:09 ` Libo Chen
2013-05-24 3:19 ` Sachin Kamat
2013-05-24 3:19 ` Sachin Kamat
[not found] ` <CAK9yfHx7ifnWjKCVc0Oju-28PdosF81OpVC5S5Vdj6hDSnfQfw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-28 6:42 ` Libo Chen [this message]
2013-05-28 6:42 ` Libo Chen
[not found] ` <51A451CE.8070801-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-06-12 9:55 ` Wolfram Sang
2013-06-12 9:55 ` Wolfram Sang
2013-05-24 4:32 ` Zhang, Sonic
2013-05-24 4:32 ` Zhang, Sonic
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=51A451CE.8070801@huawei.com \
--to=clbchenlibo.chen-hv44wf8li93qt0dzr+alfa@public.gmane.org \
--cc=guz.fnst-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
--cc=libo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=sachin.kamat-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=sonic.zhang-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org \
--cc=uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.