Skip to contentSkip to conversation

default implementation for of_find_all_nodes(...)

PATCH In review Artur Lorincz 4 participants 11 messages Aug 30, 2017 – Oct 9, 2017 Device tree

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 default implementation for of_find_all_nodes(...)

Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)
include/linux/of.h +5 -0
index 4a8a709..0a9c17a 100644
@@ -865,6 +865,11 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 
 #define of_match_ptr(_ptr)	NULL
 #define of_match_node(_matches, _node)	NULL
+
+static inline struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+	return NULL;
+}
 #endif /* CONFIG_OF */
 
 /* Default string compare functions, Allow arch asm/prom.h to override */

--
1.9.1

#2 lore raw

PATCH 1/1 default implementation for of_find_all_nodes(...)

Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)
include/linux/of.h +5 -0
index 4a8a709..0a9c17a 100644
@@ -865,6 +865,11 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 
 #define of_match_ptr(_ptr)	NULL
 #define of_match_node(_matches, _node)	NULL
+
+static inline struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+	return NULL;
+}
 #endif /* CONFIG_OF */
 
 /* Default string compare functions, Allow arch asm/prom.h to override */

--
1.9.1

#3 lore raw

Adding Rob Herring.

Quoted 25 lines · Artur Lorincz

Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)
include/linux/of.h +5 -1
index 4a8a709..0a9c17a 100644
@@ -865,6 +865,11 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 
 #define of_match_ptr(_ptr)	NULL
 #define of_match_node(_matches, _node)	NULL
+
+static inline struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+	return NULL;
+}
 #endif /* CONFIG_OF */
 
 /* Default string compare functions, Allow arch asm/prom.h to override */
--
Quoted 3 lines

1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

PATCH 1/1 default implementation for of_find_all_nodes(...)

Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)
include/linux/of.h +5 -0
index 4a8a709..0a9c17a 100644
@@ -865,6 +865,11 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 
 #define of_match_ptr(_ptr)	NULL
 #define of_match_node(_matches, _node)	NULL
+
+static inline struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+	return NULL;
+}
 #endif /* CONFIG_OF */
 
 /* Default string compare functions, Allow arch asm/prom.h to override */

--
1.9.1

maintainer
#6 lore raw
In reply to Artur Lorincz
Quoted 2 lines · Artur Lorincz

Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

Didn't even know we had this... The DT core already has some support for something like this with "auxdata" that lets you attach DT nodes to existing platform devices. Why doesn't that work?

In any case, you should just make this code depend on CONFIG_OF. When there's only 3 other users of this function, that's a good sign we don't want more. Searching thru all nodes is generally not the right thing to do.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#7 lore raw

In reply to Artur Lorincz

Hello,

Thanks for checking the patch.

I missed the #else part of he CONFIG_OF #ifdef previously.

I made the code properly depend on CONFIG_OF now.

I am not familiar with this code base. When time allows I would like to contribute by refactoring code in this area.

Let me know if you have specific ideas about what should change and how the code should be refactored.

Artur
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#8 lore raw

PATCH 1/1 Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)
include/linux/of.h +5 -0
index cfc34117fc92..250ab4d55fac 100644
@@ -538,6 +538,11 @@ const char *of_prop_next_string(struct property *prop, const char *cur);
 
 bool of_console_check(struct device_node *dn, char *name, int index);
 
+static inline struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+	return NULL;
+}
+
 #else /* CONFIG_OF */
 
 static inline void of_core_init(void)

--
2.13.6

#9 lore raw

Re: [PATCH] Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

url: https://github.com/0day-ci/linux/commits/Artur-Lorincz/Added-default-implementation-for-of_find_all_nodes-This-function-is-used-by-board-c-from-the-board-module-drivers-staging-board/20171009-01…

Hi Artur,

[auto build test ERROR on v4.14-rc3]
[also build test ERROR on next-20170929]
[cannot apply to glikely/devicetree/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Artur-Lorincz/Added-default-implementation-for-of_find_all_nodes-This-function-is-used-by-board-c-from-the-board-module-drivers-staging-board/20171009-014559
config: i386-randconfig-i1-201741 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4 reproduce:

        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

In file included from include/linux/iio/iio.h:16:0,

                    from drivers/iio/pressure/ms5611_core.c:17:
>> include/linux/of.h:541:35: error: static declaration of 'of_find_all_nodes' follows non-static declaration
    static inline struct device_node *of_find_all_nodes(struct device_node *prev)
                                      ^
   include/linux/of.h:222:28: note: previous declaration of 'of_find_all_nodes' was here
    extern struct device_node *of_find_all_nodes(struct device_node *prev);
                               ^
--
   In file included from drivers//of/base.c:27:0:
>> include/linux/of.h:541:35: error: static declaration of 'of_find_all_nodes' follows non-static declaration
    static inline struct device_node *of_find_all_nodes(struct device_node *prev)
                                      ^
   include/linux/of.h:222:28: note: previous declaration of 'of_find_all_nodes' was here
    extern struct device_node *of_find_all_nodes(struct device_node *prev);
                               ^
>> drivers//of/base.c:280:21: error: redefinition of 'of_find_all_nodes'

struct device_node *of_find_all_nodes(struct device_node *prev)
^
In file included from drivers//of/base.c:27:0:
include/linux/of.h:541:35: note: previous definition of 'of_find_all_nodes' was here
static inline struct device_node *of_find_all_nodes(struct device_node *prev)
^
--
In file included from drivers/of/base.c:27:0:

>> include/linux/of.h:541:35: error: static declaration of 'of_find_all_nodes' follows non-static declaration
    static inline struct device_node *of_find_all_nodes(struct device_node *prev)
                                      ^
   include/linux/of.h:222:28: note: previous declaration of 'of_find_all_nodes' was here
    extern struct device_node *of_find_all_nodes(struct device_node *prev);
                               ^

drivers/of/base.c:280:21: error: redefinition of 'of_find_all_nodes'
struct device_node *of_find_all_nodes(struct device_node *prev)
^
In file included from drivers/of/base.c:27:0:
include/linux/of.h:541:35: note: previous definition of 'of_find_all_nodes' was here
static inline struct device_node *of_find_all_nodes(struct device_node *prev)
^

vim +/of_find_all_nodes +541 include/linux/of.h

540

 > 541	static inline struct device_node *of_find_all_nodes(struct device_node *prev)

542 {
543 return NULL;
544 }
545

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

maintainer
#10 lore raw

Re: [PATCH] Added default implementation for of_find_all_nodes(). This function is used by board.c from the board module (drivers/staging/board).

In reply to Artur Lorincz
Quoted 4 lines · Artur Lorincz
---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)

I replied to you on the previous version[1]. Why are you sending this again?

Rob

[1] https://lkml.org/lkml/2017/10/6/805
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html