* [RFC] OF: make of_property_for_each_u32() use parameters if OF is not enabled @ 2013-06-13 15:28 Sebastian Andrzej Siewior [not found] ` <1371137331-4652-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Sebastian Andrzej Siewior @ 2013-06-13 15:28 UTC (permalink / raw) To: Grant Likely Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Sebastian Andrzej Siewior, Rob Herring I am getting a few |warning: unused variable ‘p’ [-Wunused-variable] |warning: unused variable ‘prop’ [-Wunused-variable] in the case where CONFIG_OF is not defined and the parameters are only used in the loop macro. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- include/linux/of.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/of.h b/include/linux/of.h index 1fd08ca..5a89f3f 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -507,8 +507,8 @@ static inline int of_machine_is_compatible(const char *compat) #define of_match_ptr(_ptr) NULL #define of_match_node(_matches, _node) NULL -#define of_property_for_each_u32(np, propname, prop, p, u) \ - while (0) +#define of_property_for_each_u32(np, propname, prop, p, u) \ + for (prop = NULL, p = NULL; 0; prop++, p++) #define of_property_for_each_string(np, propname, prop, s) \ while (0) #endif /* CONFIG_OF */ -- 1.7.10.4 _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1371137331-4652-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>]
* Re: [RFC] OF: make of_property_for_each_u32() use parameters if OF is not enabled [not found] ` <1371137331-4652-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> @ 2013-06-15 14:00 ` Grant Likely 2013-06-17 6:59 ` Sebastian Andrzej Siewior 2013-06-17 14:48 ` [PATCH v2] OF: make of_property_for_each_{u32|string}() " Sebastian Andrzej Siewior 0 siblings, 2 replies; 5+ messages in thread From: Grant Likely @ 2013-06-15 14:00 UTC (permalink / raw) Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Sebastian Andrzej Siewior, Rob Herring [-- Attachment #1: Type: text/plain, Size: 1299 bytes --] On Thu, 13 Jun 2013 17:28:51 +0200, Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote: > I am getting a few > |warning: unused variable âpâ [-Wunused-variable] > |warning: unused variable âpropâ [-Wunused-variable] > > in the case where CONFIG_OF is not defined and the parameters are only > used in the loop macro. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> > --- > include/linux/of.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/of.h b/include/linux/of.h > index 1fd08ca..5a89f3f 100644 > --- a/include/linux/of.h > +++ b/include/linux/of.h > @@ -507,8 +507,8 @@ static inline int of_machine_is_compatible(const char *compat) > > #define of_match_ptr(_ptr) NULL > #define of_match_node(_matches, _node) NULL > -#define of_property_for_each_u32(np, propname, prop, p, u) \ > - while (0) > +#define of_property_for_each_u32(np, propname, prop, p, u) \ Unrelated whitespace change > + for (prop = NULL, p = NULL; 0; prop++, p++) The prop++ and p++ bits should be dropped. It would probably be better to move the of_property_for_each_* macros outside the #ifdef/#else block and have an empty definition of of_prop_next_string/of_prop_next_u32. g. [-- Attachment #2: Type: text/plain, Size: 192 bytes --] _______________________________________________ devicetree-discuss mailing list devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org https://lists.ozlabs.org/listinfo/devicetree-discuss ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] OF: make of_property_for_each_u32() use parameters if OF is not enabled 2013-06-15 14:00 ` Grant Likely @ 2013-06-17 6:59 ` Sebastian Andrzej Siewior 2013-06-17 14:48 ` [PATCH v2] OF: make of_property_for_each_{u32|string}() " Sebastian Andrzej Siewior 1 sibling, 0 replies; 5+ messages in thread From: Sebastian Andrzej Siewior @ 2013-06-17 6:59 UTC (permalink / raw) To: Grant Likely; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring On 06/15/2013 04:00 PM, Grant Likely wrote: >> --- a/include/linux/of.h >> +++ b/include/linux/of.h >> @@ -507,8 +507,8 @@ static inline int of_machine_is_compatible(const char *compat) >> >> #define of_match_ptr(_ptr) NULL >> #define of_match_node(_matches, _node) NULL >> -#define of_property_for_each_u32(np, propname, prop, p, u) \ >> - while (0) >> +#define of_property_for_each_u32(np, propname, prop, p, u) \ > > Unrelated whitespace change > >> + for (prop = NULL, p = NULL; 0; prop++, p++) > > The prop++ and p++ bits should be dropped. It would probably be better The ++ ensure that gcc does spit a "set but not used warning". > to move the of_property_for_each_* macros outside the #ifdef/#else block > and have an empty definition of of_prop_next_string/of_prop_next_u32. so let me look at that. > > g. > Sebastian ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] OF: make of_property_for_each_{u32|string}() use parameters if OF is not enabled 2013-06-15 14:00 ` Grant Likely 2013-06-17 6:59 ` Sebastian Andrzej Siewior @ 2013-06-17 14:48 ` Sebastian Andrzej Siewior [not found] ` <20130617144813.GA10582-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> 1 sibling, 1 reply; 5+ messages in thread From: Sebastian Andrzej Siewior @ 2013-06-17 14:48 UTC (permalink / raw) To: Grant Likely; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring I am getting a few |warning: unused variable ‘p’ [-Wunused-variable] |warning: unused variable ‘prop’ [-Wunused-variable] in the case where CONFIG_OF is not defined and the parameters are only used in the loop macro. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- I also made that change for of_property_for_each_string(). include/linux/of.h | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/include/linux/of.h b/include/linux/of.h index 1fd08ca..90a8811 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -323,12 +323,6 @@ extern int of_detach_node(struct device_node *); */ const __be32 *of_prop_next_u32(struct property *prop, const __be32 *cur, u32 *pu); -#define of_property_for_each_u32(np, propname, prop, p, u) \ - for (prop = of_find_property(np, propname, NULL), \ - p = of_prop_next_u32(prop, NULL, &u); \ - p; \ - p = of_prop_next_u32(prop, p, &u)) - /* * struct property *prop; * const char *s; @@ -337,11 +331,6 @@ const __be32 *of_prop_next_u32(struct property *prop, const __be32 *cur, * printk("String value: %s\n", s); */ const char *of_prop_next_string(struct property *prop, const char *cur); -#define of_property_for_each_string(np, propname, prop, s) \ - for (prop = of_find_property(np, propname, NULL), \ - s = of_prop_next_string(prop, NULL); \ - s; \ - s = of_prop_next_string(prop, s)) #else /* CONFIG_OF */ @@ -505,12 +494,20 @@ static inline int of_machine_is_compatible(const char *compat) return 0; } +static inline const __be32 *of_prop_next_u32(struct property *prop, + const __be32 *cur, u32 *pu) +{ + return NULL; +} + +static inline const char *of_prop_next_string(struct property *prop, + const char *cur) +{ + return NULL; +} + #define of_match_ptr(_ptr) NULL #define of_match_node(_matches, _node) NULL -#define of_property_for_each_u32(np, propname, prop, p, u) \ - while (0) -#define of_property_for_each_string(np, propname, prop, s) \ - while (0) #endif /* CONFIG_OF */ #ifndef of_node_to_nid @@ -559,6 +556,18 @@ static inline int of_property_read_u32(const struct device_node *np, return of_property_read_u32_array(np, propname, out_value, 1); } +#define of_property_for_each_u32(np, propname, prop, p, u) \ + for (prop = of_find_property(np, propname, NULL), \ + p = of_prop_next_u32(prop, NULL, &u); \ + p; \ + p = of_prop_next_u32(prop, p, &u)) + +#define of_property_for_each_string(np, propname, prop, s) \ + for (prop = of_find_property(np, propname, NULL), \ + s = of_prop_next_string(prop, NULL); \ + s; \ + s = of_prop_next_string(prop, s)) + #if defined(CONFIG_PROC_FS) && defined(CONFIG_PROC_DEVICETREE) extern void proc_device_tree_add_node(struct device_node *, struct proc_dir_entry *); extern void proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop); -- 1.8.3.1 _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <20130617144813.GA10582-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>]
* Re: [PATCH v2] OF: make of_property_for_each_{u32|string}() use parameters if OF is not enabled [not found] ` <20130617144813.GA10582-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> @ 2013-07-20 5:28 ` Grant Likely 0 siblings, 0 replies; 5+ messages in thread From: Grant Likely @ 2013-07-20 5:28 UTC (permalink / raw) To: Sebastian Andrzej Siewior Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring [-- Attachment #1: Type: text/plain, Size: 3298 bytes --] On Mon, 17 Jun 2013 16:48:13 +0200, Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote: > I am getting a few > |warning: unused variable âpâ [-Wunused-variable] > |warning: unused variable âpropâ [-Wunused-variable] > > in the case where CONFIG_OF is not defined and the parameters are only > used in the loop macro. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> Applied, thanks g. > --- > > I also made that change for of_property_for_each_string(). > > include/linux/of.h | 39 ++++++++++++++++++++++++--------------- > 1 file changed, 24 insertions(+), 15 deletions(-) > > diff --git a/include/linux/of.h b/include/linux/of.h > index 1fd08ca..90a8811 100644 > --- a/include/linux/of.h > +++ b/include/linux/of.h > @@ -323,12 +323,6 @@ extern int of_detach_node(struct device_node *); > */ > const __be32 *of_prop_next_u32(struct property *prop, const __be32 *cur, > u32 *pu); > -#define of_property_for_each_u32(np, propname, prop, p, u) \ > - for (prop = of_find_property(np, propname, NULL), \ > - p = of_prop_next_u32(prop, NULL, &u); \ > - p; \ > - p = of_prop_next_u32(prop, p, &u)) > - > /* > * struct property *prop; > * const char *s; > @@ -337,11 +331,6 @@ const __be32 *of_prop_next_u32(struct property *prop, const __be32 *cur, > * printk("String value: %s\n", s); > */ > const char *of_prop_next_string(struct property *prop, const char *cur); > -#define of_property_for_each_string(np, propname, prop, s) \ > - for (prop = of_find_property(np, propname, NULL), \ > - s = of_prop_next_string(prop, NULL); \ > - s; \ > - s = of_prop_next_string(prop, s)) > > #else /* CONFIG_OF */ > > @@ -505,12 +494,20 @@ static inline int of_machine_is_compatible(const char *compat) > return 0; > } > > +static inline const __be32 *of_prop_next_u32(struct property *prop, > + const __be32 *cur, u32 *pu) > +{ > + return NULL; > +} > + > +static inline const char *of_prop_next_string(struct property *prop, > + const char *cur) > +{ > + return NULL; > +} > + > #define of_match_ptr(_ptr) NULL > #define of_match_node(_matches, _node) NULL > -#define of_property_for_each_u32(np, propname, prop, p, u) \ > - while (0) > -#define of_property_for_each_string(np, propname, prop, s) \ > - while (0) > #endif /* CONFIG_OF */ > > #ifndef of_node_to_nid > @@ -559,6 +556,18 @@ static inline int of_property_read_u32(const struct device_node *np, > return of_property_read_u32_array(np, propname, out_value, 1); > } > > +#define of_property_for_each_u32(np, propname, prop, p, u) \ > + for (prop = of_find_property(np, propname, NULL), \ > + p = of_prop_next_u32(prop, NULL, &u); \ > + p; \ > + p = of_prop_next_u32(prop, p, &u)) > + > +#define of_property_for_each_string(np, propname, prop, s) \ > + for (prop = of_find_property(np, propname, NULL), \ > + s = of_prop_next_string(prop, NULL); \ > + s; \ > + s = of_prop_next_string(prop, s)) > + > #if defined(CONFIG_PROC_FS) && defined(CONFIG_PROC_DEVICETREE) > extern void proc_device_tree_add_node(struct device_node *, struct proc_dir_entry *); > extern void proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop); > -- > 1.8.3.1 > [-- Attachment #2: Type: text/plain, Size: 192 bytes --] _______________________________________________ devicetree-discuss mailing list devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org https://lists.ozlabs.org/listinfo/devicetree-discuss ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-07-20 5:28 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-06-13 15:28 [RFC] OF: make of_property_for_each_u32() use parameters if OF is not enabled Sebastian Andrzej Siewior [not found] ` <1371137331-4652-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> 2013-06-15 14:00 ` Grant Likely 2013-06-17 6:59 ` Sebastian Andrzej Siewior 2013-06-17 14:48 ` [PATCH v2] OF: make of_property_for_each_{u32|string}() " Sebastian Andrzej Siewior [not found] ` <20130617144813.GA10582-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> 2013-07-20 5:28 ` 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).