[PATCH RFC 03/13] OF: define of_*_cmp() macros also if CONFIG_OF isn't set

Grant Likely grant.likely at secretlab.ca
Tue Dec 11 19:45:09 EST 2012


On Mon, 10 Dec 2012 20:41:29 +0100, Sylwester Nawrocki <s.nawrocki at samsung.com> wrote:
> From: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
> 
> of_*_cmp() macros do not depend on any OF functions and can be defined also
> if CONFIG_OF isn't set. Also include linux/string.h, required by those
> macros.

Patch looks fine, but I'd like to know the situation where you found
this problem. Again, anything calling these of_ helpers is probably
CONFIG_OF specific code.

I've resisted doing a blanket add of these helpers outside of CONFIG_OF
exactly because it helps identify CONFIG_OF code that should be compiled
out when CONFIG_OF=n

g.

> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
> ---
>  include/linux/of.h |   15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/include/linux/of.h b/include/linux/of.h
> index 9ba8cf1..38d4b1a 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -85,6 +85,14 @@ static inline struct device_node *of_node_get(struct device_node *node)
>  static inline void of_node_put(struct device_node *node) { }
>  #endif /* !CONFIG_OF_DYNAMIC */
>  
> +/* Default string compare functions, Allow arch asm/prom.h to override */
> +#if !defined(of_compat_cmp)
> +#include <linux/string.h>
> +#define of_compat_cmp(s1, s2, l)	strcasecmp((s1), (s2))
> +#define of_prop_cmp(s1, s2)		strcmp((s1), (s2))
> +#define of_node_cmp(s1, s2)		strcasecmp((s1), (s2))
> +#endif
> +
>  #ifdef CONFIG_OF
>  
>  /* Pointer for first entry in chain of all nodes. */
> @@ -143,13 +151,6 @@ static inline unsigned long of_read_ulong(const __be32 *cell, int size)
>  #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1
>  #endif
>  
> -/* Default string compare functions, Allow arch asm/prom.h to override */
> -#if !defined(of_compat_cmp)
> -#define of_compat_cmp(s1, s2, l)	strcasecmp((s1), (s2))
> -#define of_prop_cmp(s1, s2)		strcmp((s1), (s2))
> -#define of_node_cmp(s1, s2)		strcasecmp((s1), (s2))
> -#endif
> -
>  /* flag descriptions */
>  #define OF_DYNAMIC	1 /* node and properties were allocated via kmalloc */
>  #define OF_DETACHED	2 /* node has been detached from the device tree */
> -- 
> 1.7.9.5
> 

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.


More information about the devicetree-discuss mailing list