From: Rob Herring <robherring2@gmail.com>
To: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>,
"Manjunathappa, Prakash" <prakash.pm@ti.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Guennady Liakhovetski <g.liakhovetski@gmx.de>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"Valkeinen, Tomi" <tomi.valkeinen@ti.com>,
Stephen Warren <swarren@wwwdotorg.org>,
"kernel@pengutronix.de" <kernel@pengutronix.de>,
Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
David Airlie <airlied@linux.ie>,
Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH v12 2/6] video: add of helper for videomode
Date: Wed, 21 Nov 2012 15:03:38 +0000 [thread overview]
Message-ID: <50ACED4A.5040806@gmail.com> (raw)
In-Reply-To: <20121121115236.GA8886@avionic-0098.adnet.avionic-design.de>
On 11/21/2012 05:52 AM, Thierry Reding wrote:
> On Wed, Nov 21, 2012 at 12:48:43PM +0100, Steffen Trumtrar wrote:
>> Hi!
>>
>> On Wed, Nov 21, 2012 at 10:12:43AM +0000, Manjunathappa, Prakash wrote:
>>> Hi Steffen,
>>>
>>> On Tue, Nov 20, 2012 at 21:24:52, Steffen Trumtrar wrote:
>>>> +/**
>>>> + * of_get_display_timings - parse all display_timing entries from a device_node
>>>> + * @np: device_node with the subnodes
>>>> + **/
>>>> +struct display_timings *of_get_display_timings(const struct device_node *np)
>>>> +{
>>>> + struct device_node *timings_np;
>>>> + struct device_node *entry;
>>>> + struct device_node *native_mode;
>>>> + struct display_timings *disp;
>>>> +
>>>> + if (!np) {
>>>> + pr_err("%s: no devicenode given\n", __func__);
>>>> + return NULL;
>>>> + }
>>>> +
>>>> + timings_np = of_find_node_by_name(np, "display-timings");
>>>
>>> I get below build warnings on this line
>>> drivers/video/of_display_timing.c: In function 'of_get_display_timings':
>>> drivers/video/of_display_timing.c:109:2: warning: passing argument 1 of 'of_find_node_by_name' discards qualifiers from pointer target type
>>> include/linux/of.h:167:28: note: expected 'struct device_node *' but argument is of type 'const struct device_node *'
>>>
>>>> + * of_display_timings_exists - check if a display-timings node is provided
>>>> + * @np: device_node with the timing
>>>> + **/
>>>> +int of_display_timings_exists(const struct device_node *np)
>>>> +{
>>>> + struct device_node *timings_np;
>>>> +
>>>> + if (!np)
>>>> + return -EINVAL;
>>>> +
>>>> + timings_np = of_parse_phandle(np, "display-timings", 0);
>>>
>>> Also here:
>>> drivers/video/of_display_timing.c: In function 'of_display_timings_exists':
>>> drivers/video/of_display_timing.c:209:2: warning: passing argument 1 of 'of_parse_phandle' discards qualifiers from pointer target type
>>> include/linux/of.h:258:28: note: expected 'struct device_node *' but argument is of type 'const struct device_node *'
>>>
>>
>> The warnings are because the of-functions do not use const pointers where they
>> should. I had two options: don't use const pointers even if they should be and
>> have no warnings or use const pointers and have a correct API. (Third option:
>> send patches for of-functions). I chose the second option.
>
> Maybe a better approach would be a combination of 1 and 3: don't use
> const pointers for struct device_node for now and bring the issue up
> with the OF maintainers, possibly with patches attached that fix the
> problematic functions.
Why does this need to be const? Since some DT functions increment
refcount the node, I'm not sure that making struct device_node const in
general is right thing to do. I do think it should be okay for
of_parse_phandle.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robherring2@gmail.com>
To: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>,
"Manjunathappa, Prakash" <prakash.pm@ti.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Guennady Liakhovetski <g.liakhovetski@gmx.de>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"Valkeinen, Tomi" <tomi.valkeinen@ti.com>,
Stephen Warren <swarren@wwwdotorg.org>,
"kernel@pengutronix.de" <kernel@pengutronix.de>,
Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
David Airlie <airlied@linux.ie>,
Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH v12 2/6] video: add of helper for videomode
Date: Wed, 21 Nov 2012 09:03:38 -0600 [thread overview]
Message-ID: <50ACED4A.5040806@gmail.com> (raw)
In-Reply-To: <20121121115236.GA8886@avionic-0098.adnet.avionic-design.de>
On 11/21/2012 05:52 AM, Thierry Reding wrote:
> On Wed, Nov 21, 2012 at 12:48:43PM +0100, Steffen Trumtrar wrote:
>> Hi!
>>
>> On Wed, Nov 21, 2012 at 10:12:43AM +0000, Manjunathappa, Prakash wrote:
>>> Hi Steffen,
>>>
>>> On Tue, Nov 20, 2012 at 21:24:52, Steffen Trumtrar wrote:
>>>> +/**
>>>> + * of_get_display_timings - parse all display_timing entries from a device_node
>>>> + * @np: device_node with the subnodes
>>>> + **/
>>>> +struct display_timings *of_get_display_timings(const struct device_node *np)
>>>> +{
>>>> + struct device_node *timings_np;
>>>> + struct device_node *entry;
>>>> + struct device_node *native_mode;
>>>> + struct display_timings *disp;
>>>> +
>>>> + if (!np) {
>>>> + pr_err("%s: no devicenode given\n", __func__);
>>>> + return NULL;
>>>> + }
>>>> +
>>>> + timings_np = of_find_node_by_name(np, "display-timings");
>>>
>>> I get below build warnings on this line
>>> drivers/video/of_display_timing.c: In function 'of_get_display_timings':
>>> drivers/video/of_display_timing.c:109:2: warning: passing argument 1 of 'of_find_node_by_name' discards qualifiers from pointer target type
>>> include/linux/of.h:167:28: note: expected 'struct device_node *' but argument is of type 'const struct device_node *'
>>>
>>>> + * of_display_timings_exists - check if a display-timings node is provided
>>>> + * @np: device_node with the timing
>>>> + **/
>>>> +int of_display_timings_exists(const struct device_node *np)
>>>> +{
>>>> + struct device_node *timings_np;
>>>> +
>>>> + if (!np)
>>>> + return -EINVAL;
>>>> +
>>>> + timings_np = of_parse_phandle(np, "display-timings", 0);
>>>
>>> Also here:
>>> drivers/video/of_display_timing.c: In function 'of_display_timings_exists':
>>> drivers/video/of_display_timing.c:209:2: warning: passing argument 1 of 'of_parse_phandle' discards qualifiers from pointer target type
>>> include/linux/of.h:258:28: note: expected 'struct device_node *' but argument is of type 'const struct device_node *'
>>>
>>
>> The warnings are because the of-functions do not use const pointers where they
>> should. I had two options: don't use const pointers even if they should be and
>> have no warnings or use const pointers and have a correct API. (Third option:
>> send patches for of-functions). I chose the second option.
>
> Maybe a better approach would be a combination of 1 and 3: don't use
> const pointers for struct device_node for now and bring the issue up
> with the OF maintainers, possibly with patches attached that fix the
> problematic functions.
Why does this need to be const? Since some DT functions increment
refcount the node, I'm not sure that making struct device_node const in
general is right thing to do. I do think it should be okay for
of_parse_phandle.
Rob
next prev parent reply other threads:[~2012-11-21 15:03 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-20 15:54 [PATCH v12 0/6] of: add display helper Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
2012-11-20 15:54 ` [PATCH v12 1/6] video: add display_timing and videomode Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
[not found] ` <1353426896-6045-2-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 11:37 ` Tomi Valkeinen
2012-11-21 11:37 ` Tomi Valkeinen
2012-11-21 11:37 ` Tomi Valkeinen
2012-11-21 16:11 ` Steffen Trumtrar
2012-11-21 16:11 ` Steffen Trumtrar
[not found] ` <20121121161103.GA12657-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 16:42 ` Tomi Valkeinen
2012-11-21 16:42 ` Tomi Valkeinen
2012-11-21 16:42 ` Tomi Valkeinen
2012-11-20 15:54 ` [PATCH v12 2/6] video: add of helper for videomode Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
[not found] ` <1353426896-6045-3-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 10:12 ` Manjunathappa, Prakash
2012-11-21 10:12 ` Manjunathappa, Prakash
2012-11-21 10:12 ` Manjunathappa, Prakash
2012-11-21 11:48 ` Steffen Trumtrar
2012-11-21 11:48 ` Steffen Trumtrar
2012-11-21 11:52 ` Thierry Reding
2012-11-21 11:52 ` Thierry Reding
2012-11-21 15:03 ` Rob Herring [this message]
2012-11-21 15:03 ` Rob Herring
[not found] ` <50ACED4A.5040806-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-11-21 15:13 ` Thierry Reding
2012-11-21 15:13 ` Thierry Reding
2012-11-21 15:13 ` Thierry Reding
2012-11-22 9:10 ` Steffen Trumtrar
2012-11-22 9:10 ` Steffen Trumtrar
2012-11-22 9:10 ` Steffen Trumtrar
2012-11-21 12:22 ` Tomi Valkeinen
2012-11-21 12:22 ` Tomi Valkeinen
2012-11-21 12:22 ` Tomi Valkeinen
[not found] ` <1353426896-6045-1-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-20 15:54 ` [PATCH v12 3/6] fbmon: add videomode helpers Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
2012-11-21 10:09 ` Manjunathappa, Prakash
2012-11-21 11:09 ` Leela Krishna Amudala
2012-11-21 11:21 ` Leela Krishna Amudala
2012-11-21 11:58 ` Steffen Trumtrar
2012-11-21 11:58 ` Steffen Trumtrar
2012-11-21 12:27 ` Tomi Valkeinen
2012-11-21 12:27 ` Tomi Valkeinen
2012-11-21 12:27 ` Tomi Valkeinen
[not found] ` <1353426896-6045-4-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 22:02 ` Laurent Pinchart
2012-11-21 22:02 ` Laurent Pinchart
2012-11-21 22:02 ` Laurent Pinchart
2012-11-22 6:20 ` Sascha Hauer
2012-11-22 6:20 ` Sascha Hauer
2012-11-22 6:20 ` Sascha Hauer
[not found] ` <20121122062000.GW10369-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-22 8:50 ` Laurent Pinchart
2012-11-22 8:50 ` Laurent Pinchart
2012-11-22 8:50 ` Laurent Pinchart
2012-11-22 8:53 ` Sascha Hauer
2012-11-22 8:53 ` Sascha Hauer
2012-11-22 8:53 ` Sascha Hauer
[not found] ` <20121122085342.GB10369-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-22 9:07 ` Laurent Pinchart
2012-11-22 9:07 ` Laurent Pinchart
2012-11-22 9:07 ` Laurent Pinchart
2012-11-22 11:23 ` Steffen Trumtrar
2012-11-22 11:23 ` Steffen Trumtrar
2012-11-22 11:23 ` Steffen Trumtrar
2012-11-20 15:54 ` [PATCH v12 6/6] drm_modes: add of_videomode helpers Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
[not found] ` <1353426896-6045-7-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 12:52 ` Tomi Valkeinen
2012-11-21 12:52 ` Tomi Valkeinen
2012-11-21 12:52 ` Tomi Valkeinen
2012-11-20 15:54 ` [PATCH v12 4/6] fbmon: " Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
[not found] ` <1353426896-6045-5-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-21 12:49 ` Tomi Valkeinen
2012-11-21 12:49 ` Tomi Valkeinen
2012-11-21 12:49 ` Tomi Valkeinen
2012-11-21 13:08 ` Laurent Pinchart
2012-11-21 13:08 ` Laurent Pinchart
2012-11-21 16:24 ` Steffen Trumtrar
2012-11-21 16:24 ` Steffen Trumtrar
2012-11-21 16:47 ` Tomi Valkeinen
2012-11-21 16:47 ` Tomi Valkeinen
2012-11-21 16:47 ` Tomi Valkeinen
2012-11-20 15:54 ` [PATCH v12 5/6] drm_modes: add videomode helpers Steffen Trumtrar
2012-11-20 15:54 ` Steffen Trumtrar
2012-11-21 12:50 ` Tomi Valkeinen
2012-11-21 12:50 ` Tomi Valkeinen
2012-11-21 12:50 ` Tomi Valkeinen
2012-11-20 16:13 ` [PATCH v12 0/6] of: add display helper Laurent Pinchart
2012-11-20 16:13 ` Laurent Pinchart
2012-11-20 18:11 ` Robert Schwebel
2012-11-20 18:11 ` Robert Schwebel
2012-11-20 19:35 ` Thierry Reding
2012-11-20 19:35 ` Thierry Reding
2012-11-21 8:28 ` Steffen Trumtrar
2012-11-21 8:28 ` Steffen Trumtrar
2012-11-21 13:18 ` Laurent Pinchart
2012-11-21 13:18 ` Laurent Pinchart
2012-11-21 7:41 ` Steffen Trumtrar
2012-11-21 7:41 ` Steffen Trumtrar
2012-11-21 7:41 ` Steffen Trumtrar
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=50ACED4A.5040806@gmail.com \
--to=robherring2@gmail.com \
--cc=FlorianSchandinat@gmx.de \
--cc=airlied@linux.ie \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=g.liakhovetski@gmx.de \
--cc=grant.likely@secretlab.ca \
--cc=kernel@pengutronix.de \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=prakash.pm@ti.com \
--cc=s.trumtrar@pengutronix.de \
--cc=swarren@wwwdotorg.org \
--cc=thierry.reding@avionic-design.de \
--cc=tomi.valkeinen@ti.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.