* [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource()
@ 2013-07-18 10:24 Sebastian Andrzej Siewior
[not found] ` <1374143050-25848-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Andrzej Siewior @ 2013-07-18 10:24 UTC (permalink / raw)
To: Grant Likely
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
Sebastian Andrzej Siewior, Rob Herring
It almost does not matter because most users use only the ->start member
of the struct. However if this struct is passed to a platform device
which is then added via platform_device_add() then the ->parent member is
also used.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
---
drivers/of/irq.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index a3c1c5a..e0a72fb 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -345,6 +345,7 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
if (r && irq) {
const char *name = NULL;
+ memset(r, 0, sizeof(*r));
/*
* Get optional "interrupts-names" property to add a name
* to the resource.
--
1.8.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource()
[not found] ` <1374143050-25848-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
@ 2013-07-19 2:49 ` Rob Herring
[not found] ` <51E8A937.9030109-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2013-07-19 2:49 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Grant Likely, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
Rob Herring
On 07/18/2013 05:24 AM, Sebastian Andrzej Siewior wrote:
> It almost does not matter because most users use only the ->start member
> of the struct. However if this struct is passed to a platform device
> which is then added via platform_device_add() then the ->parent member is
> also used.
Most users don't use the resource struct at all. The ones that do, all
seem to do a memset beforehand. So I think current behavior is correct.
There are some occurrences that pass a resource in, but then don't
actually use the resource. Those we should fix.
Rob
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
> ---
> drivers/of/irq.c | 1 +
> 1 file changed, 1 insearch/powerpc/sysdev/mv64x60_dev.crtion(+)
>
> diff --git a/drivers/of/irq.c b/drivers/of/irq.c
> index a3c1c5a..e0a72fb 100644
> --- a/drivers/of/irq.c
> +++ b/drivers/of/irq.c
> @@ -345,6 +345,7 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
> if (r && irq) {
> const char *name = NULL;
>
> + memset(r, 0, sizeof(*r));
> /*
> * Get optional "interrupts-names" property to add a name
> * to the resource.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource()
[not found] ` <51E8A937.9030109-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2013-07-19 6:57 ` Sebastian Andrzej Siewior
[not found] ` <51E8E359.2030908-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-07-20 5:55 ` Grant Likely
1 sibling, 1 reply; 5+ messages in thread
From: Sebastian Andrzej Siewior @ 2013-07-19 6:57 UTC (permalink / raw)
To: Rob Herring
Cc: Grant Likely, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
Rob Herring
On 07/19/2013 04:49 AM, Rob Herring wrote:
> On 07/18/2013 05:24 AM, Sebastian Andrzej Siewior wrote:
>> It almost does not matter because most users use only the ->start member
>> of the struct. However if this struct is passed to a platform device
>> which is then added via platform_device_add() then the ->parent member is
>> also used.
>
> Most users don't use the resource struct at all. The ones that do, all
> seem to do a memset beforehand. So I think current behavior is correct.
Seriously? That is your argument here? Most users use memset()
beforehand and that makes it correct? Now look at this: you pass a
pointer to fill out a struct and you don't do it properly.
There is of_address_to_resource() which does a memset() why is okay
here use memset()?
>
> There are some occurrences that pass a resource in, but then don't
> actually use the resource. Those we should fix.
>
> Rob
>
>>
>> Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
>> ---
>> drivers/of/irq.c | 1 +
>> 1 file changed, 1 insearch/powerpc/sysdev/mv64x60_dev.crtion(+)
>>
>> diff --git a/drivers/of/irq.c b/drivers/of/irq.c
>> index a3c1c5a..e0a72fb 100644
>> --- a/drivers/of/irq.c
>> +++ b/drivers/of/irq.c
>> @@ -345,6 +345,7 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
>> if (r && irq) {
>> const char *name = NULL;
>>
>> + memset(r, 0, sizeof(*r));
>> /*
>> * Get optional "interrupts-names" property to add a name
>> * to the resource.
>>
>
Sebastian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource()
[not found] ` <51E8E359.2030908-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
@ 2013-07-20 2:48 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2013-07-20 2:48 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Grant Likely,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Rob Herring
On Fri, Jul 19, 2013 at 1:57 AM, Sebastian Andrzej Siewior
<bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
> On 07/19/2013 04:49 AM, Rob Herring wrote:
>> On 07/18/2013 05:24 AM, Sebastian Andrzej Siewior wrote:
>>> It almost does not matter because most users use only the ->start member
>>> of the struct. However if this struct is passed to a platform device
>>> which is then added via platform_device_add() then the ->parent member is
>>> also used.
>>
>> Most users don't use the resource struct at all. The ones that do, all
>> seem to do a memset beforehand. So I think current behavior is correct.
>
> Seriously? That is your argument here? Most users use memset()
> beforehand and that makes it correct? Now look at this: you pass a
> pointer to fill out a struct and you don't do it properly.
>From a standpoint of initializing variables close to the point it is
allocated, yes.
> There is of_address_to_resource() which does a memset() why is okay
> here use memset()?
Fair enough. Consistency is important too. Rather than a memset, I'd
rather see the 3 remaining fields initialized and avoid setting most
of them twice.
Rob
>
>>
>> There are some occurrences that pass a resource in, but then don't
>> actually use the resource. Those we should fix.
>
>
>
>>
>> Rob
>>
>>>
>>> Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
>>> ---
>>> drivers/of/irq.c | 1 +
>>> 1 file changed, 1 insearch/powerpc/sysdev/mv64x60_dev.crtion(+)
>>>
>>> diff --git a/drivers/of/irq.c b/drivers/of/irq.c
>>> index a3c1c5a..e0a72fb 100644
>>> --- a/drivers/of/irq.c
>>> +++ b/drivers/of/irq.c
>>> @@ -345,6 +345,7 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
>>> if (r && irq) {
>>> const char *name = NULL;
>>>
>>> + memset(r, 0, sizeof(*r));
>>> /*
>>> * Get optional "interrupts-names" property to add a name
>>> * to the resource.
>>>
>>
>
> Sebastian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource()
[not found] ` <51E8A937.9030109-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-19 6:57 ` Sebastian Andrzej Siewior
@ 2013-07-20 5:55 ` Grant Likely
1 sibling, 0 replies; 5+ messages in thread
From: Grant Likely @ 2013-07-20 5:55 UTC (permalink / raw)
To: Rob Herring, Sebastian Andrzej Siewior
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring
On Thu, 18 Jul 2013 21:49:27 -0500, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On 07/18/2013 05:24 AM, Sebastian Andrzej Siewior wrote:
> > It almost does not matter because most users use only the ->start member
> > of the struct. However if this struct is passed to a platform device
> > which is then added via platform_device_add() then the ->parent member is
> > also used.
>
> Most users don't use the resource struct at all. The ones that do, all
> seem to do a memset beforehand. So I think current behavior is correct.
>
> There are some occurrences that pass a resource in, but then don't
> actually use the resource. Those we should fix.
It's a reasonable safeguard though. I'm going to apply it.
g.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-07-20 5:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-18 10:24 [PATCH] of/irq: init struct resource to 0 in of_irq_to_resource() Sebastian Andrzej Siewior
[not found] ` <1374143050-25848-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-07-19 2:49 ` Rob Herring
[not found] ` <51E8A937.9030109-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-19 6:57 ` Sebastian Andrzej Siewior
[not found] ` <51E8E359.2030908-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-07-20 2:48 ` Rob Herring
2013-07-20 5:55 ` Grant Likely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).