From: Joel Fernandes <joelf@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Linux OMAP List <linux-omap@vger.kernel.org>,
Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 09/26] ARM: OMAP: dmtimer: Get rid of check for mem resource error
Date: Wed, 7 May 2014 17:14:25 -0500 [thread overview]
Message-ID: <536AB041.5070705@ti.com> (raw)
In-Reply-To: <20140507220959.GE19102@atomide.com>
On 05/07/2014 05:10 PM, Tony Lindgren wrote:
> * Joel Fernandes <joelf@ti.com> [140507 14:53]:
>> On 05/07/2014 10:24 AM, Tony Lindgren wrote:
>>> * Joel Fernandes <joelf@ti.com> [140424 14:44]:
>>>> The subsequent devm_ioremap_resource will catch it and print an error, let it
>>>> be checked there.
>>>>
>>>> Signed-off-by: Joel Fernandes <joelf@ti.com>
>>>> ---
>>>> arch/arm/plat-omap/dmtimer.c | 4 ----
>>>> 1 file changed, 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
>>>> index 7e806f9..1fd30fa 100644
>>>> --- a/arch/arm/plat-omap/dmtimer.c
>>>> +++ b/arch/arm/plat-omap/dmtimer.c
>>>> @@ -810,10 +810,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
>>>> }
>>>>
>>>> mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>>> - if (unlikely(!mem)) {
>>>> - dev_err(dev, "%s: no memory resource.\n", __func__);
>>>> - return -ENODEV;
>>>> - }
>>>>
>>>> timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
>>>> if (!timer) {
>>>
>>> We still need to return an error here and not try to continue though.
>>
>> We are returning an error if mem is NULL so the redundant check is
>> unnecessary:
>>
>> ...
>> timer->io_base = devm_ioremap_resource(dev, mem);
>> if (IS_ERR(timer->io_base))
>> return PTR_ERR(timer->io_base);
>
> Why would you want to even continue omap_dm_timer_probe()
> further and allocate memory if platform_get_resource() fails?
>
But its freed anyway on error. I just felt that extra LOC could be
removed. Ideally we should do something like
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
io_base = devm_ioremap_resource(dev, mem);
if (IS_ERR(io_base))
return PTR_ERR(io_base);
timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
if (!timer) {
...
}
timer->io_base = io_base;
That combines the platform_get_resource and devm_ioremap_resource error
paths into 1 path and avoids redundant checks.. I can do it this way, or
if you want drop the patch entirely, I'm OK with it both ways..
thanks,
-Joel
WARNING: multiple messages have this Message-ID (diff)
From: joelf@ti.com (Joel Fernandes)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 09/26] ARM: OMAP: dmtimer: Get rid of check for mem resource error
Date: Wed, 7 May 2014 17:14:25 -0500 [thread overview]
Message-ID: <536AB041.5070705@ti.com> (raw)
In-Reply-To: <20140507220959.GE19102@atomide.com>
On 05/07/2014 05:10 PM, Tony Lindgren wrote:
> * Joel Fernandes <joelf@ti.com> [140507 14:53]:
>> On 05/07/2014 10:24 AM, Tony Lindgren wrote:
>>> * Joel Fernandes <joelf@ti.com> [140424 14:44]:
>>>> The subsequent devm_ioremap_resource will catch it and print an error, let it
>>>> be checked there.
>>>>
>>>> Signed-off-by: Joel Fernandes <joelf@ti.com>
>>>> ---
>>>> arch/arm/plat-omap/dmtimer.c | 4 ----
>>>> 1 file changed, 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
>>>> index 7e806f9..1fd30fa 100644
>>>> --- a/arch/arm/plat-omap/dmtimer.c
>>>> +++ b/arch/arm/plat-omap/dmtimer.c
>>>> @@ -810,10 +810,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
>>>> }
>>>>
>>>> mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>>> - if (unlikely(!mem)) {
>>>> - dev_err(dev, "%s: no memory resource.\n", __func__);
>>>> - return -ENODEV;
>>>> - }
>>>>
>>>> timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
>>>> if (!timer) {
>>>
>>> We still need to return an error here and not try to continue though.
>>
>> We are returning an error if mem is NULL so the redundant check is
>> unnecessary:
>>
>> ...
>> timer->io_base = devm_ioremap_resource(dev, mem);
>> if (IS_ERR(timer->io_base))
>> return PTR_ERR(timer->io_base);
>
> Why would you want to even continue omap_dm_timer_probe()
> further and allocate memory if platform_get_resource() fails?
>
But its freed anyway on error. I just felt that extra LOC could be
removed. Ideally we should do something like
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
io_base = devm_ioremap_resource(dev, mem);
if (IS_ERR(io_base))
return PTR_ERR(io_base);
timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
if (!timer) {
...
}
timer->io_base = io_base;
That combines the platform_get_resource and devm_ioremap_resource error
paths into 1 path and avoids redundant checks.. I can do it this way, or
if you want drop the patch entirely, I'm OK with it both ways..
thanks,
-Joel
next prev parent reply other threads:[~2014-05-07 22:14 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 21:43 [PATCH 00/26] OMAP dmtimer prep series Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 01/26] ARM: OMAP: dmtimer: Remove setting of clk parent indirectly through platform hook Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-05-07 15:19 ` Tony Lindgren
2014-05-07 15:19 ` Tony Lindgren
2014-05-07 21:43 ` Joel Fernandes
2014-05-07 21:43 ` Joel Fernandes
2014-05-07 22:04 ` Tony Lindgren
2014-05-07 22:04 ` Tony Lindgren
2014-05-07 22:08 ` Joel Fernandes
2014-05-07 22:08 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 02/26] ARM: OMAP: dmtimer: Add comments on OMAP1 clock framework Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-05-07 15:20 ` Tony Lindgren
2014-05-07 15:20 ` Tony Lindgren
2014-05-07 21:48 ` Joel Fernandes
2014-05-07 21:48 ` Joel Fernandes
2014-05-07 22:07 ` Tony Lindgren
2014-05-07 22:07 ` Tony Lindgren
2014-05-07 22:10 ` Joel Fernandes
2014-05-07 22:10 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 03/26] ARM: OMAP: dmtimer: Add note to set parent from DT Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 04/26] ARM: OMAP: dmtimer: Add function to check if timer is running Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-05-07 15:25 ` Tony Lindgren
2014-05-07 15:25 ` Tony Lindgren
2014-05-07 22:00 ` Joel Fernandes
2014-05-07 22:00 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 05/26] ARM: OMAP1: dmtimer: Rewrite modify of IDLECT mask to use new is_running function Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 06/26] ARM: OMAP: dmtimer: Add a write_ctrl function to simplify bit setting Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 07/26] ARM: OMAP: dmtimer: Have __omap_dm_timer_load_start set ST bit in CTRL instead of caller Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 08/26] ARM: OMAP: dmtimer: Add function to check for timer availability Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 09/26] ARM: OMAP: dmtimer: Get rid of check for mem resource error Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-05-07 15:24 ` Tony Lindgren
2014-05-07 15:24 ` Tony Lindgren
2014-05-07 21:52 ` Joel Fernandes
2014-05-07 21:52 ` Joel Fernandes
2014-05-07 22:10 ` Tony Lindgren
2014-05-07 22:10 ` Tony Lindgren
2014-05-07 22:14 ` Joel Fernandes [this message]
2014-05-07 22:14 ` Joel Fernandes
2014-05-07 22:22 ` Tony Lindgren
2014-05-07 22:22 ` Tony Lindgren
2014-04-24 21:43 ` [PATCH 10/26] ARM: OMAP: dmtimer: Check return of pm_runtime_get_sync Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 11/26] ARM: OMAP2+: timer: Add a powerup function Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 12/26] ARM: OMAP2+: timer: Simplify clock event/source name setting Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 13/26] ARM: OMAP2+: timer: Add comment on timer clk parenting Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 14/26] ARM: OMAP2+: timer: Remove hwmod look-up dependency for DT-boot Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 15/26] ARM: OMAP2+: timer: Use of_clk_get for DT platforms Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:43 ` [PATCH 16/26] ARM: OMAP2+: timer: Fix error message to not use hwmod structure Joel Fernandes
2014-04-24 21:43 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 17/26] ARM: OMAP2+: timer: Add fallback for of_clk_get Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 18/26] ARM: OMAP2+: timer: Add legacy code for old way of getting fclk Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 19/26] ARM: OMAP: dmtimer: Remove API __omap_dm_timer_load_start Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 20/26] ARM: OMAP: dmtimer: Fold back private stop function Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 21/26] ARM: OMAP: dmtimer: Add systimer flag to dmtimer structure Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 22/26] ARM: OMAP: dmtimer: Eliminate __omap_dm_timer_write_status function Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 23/26] ARM: OMAP: dmtimer: Eliminate __omap_dm_timer_read_counter function Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 24/26] ARM: OMAP: dmtimer: Move private functions into dmtimer core and export others Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 25/26] ARM: OMAP: dmtimer: Eliminate omap_dm_timer_int_enable function Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
2014-04-24 21:44 ` [PATCH 26/26] ARM: OMAP: dmtimer: Use is_timer_available function in omap_dm_timer_trigger Joel Fernandes
2014-04-24 21:44 ` Joel Fernandes
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=536AB041.5070705@ti.com \
--to=joelf@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
/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.