Hi Miaoqian,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next] [also build test WARNING on linus/master v6.18-rc3 next-20251028] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Miaoqian-Lin/drm-of-Fix-devic... base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20251028060918.65688-1-linmq006%40gmail.com patch subject: [PATCH] drm/of: Fix device node reference leak in drm_of_panel_bridge_remove config: parisc-randconfig-002-20251028 (https://download.01.org/0day-ci/archive/20251028/202510282250.QkCSotB2-lkp@i...) compiler: hppa-linux-gcc (GCC) 8.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510282250.QkCSotB2-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202510282250.QkCSotB2-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/bridge/ti-dlpc3433.c:12: include/drm/drm_of.h: In function 'drm_of_panel_bridge_remove': include/drm/drm_of.h:174:2: error: implicit declaration of function 'of_node_put'; did you mean 'fwnode_init'? [-Werror=implicit-function-declaration] of_node_put(remote); ^~~~~~~~~~~ fwnode_init In file included from include/linux/irqdomain.h:14, from include/linux/i2c.h:21, from drivers/gpu/drm/bridge/ti-dlpc3433.c:18: include/linux/of.h: At top level:
include/linux/of.h:129:13: warning: conflicting types for 'of_node_put'
extern void of_node_put(struct device_node *node); ^~~~~~~~~~~ In file included from drivers/gpu/drm/bridge/ti-dlpc3433.c:12: include/drm/drm_of.h:174:2: note: previous implicit declaration of 'of_node_put' was here of_node_put(remote); ^~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/of_node_put +129 include/linux/of.h
0829f6d1f69e4f Pantelis Antoniou 2013-12-13 126 0f22dd395fc473 Grant Likely 2012-02-15 127 #ifdef CONFIG_OF_DYNAMIC 0f22dd395fc473 Grant Likely 2012-02-15 128 extern struct device_node *of_node_get(struct device_node *node); 0f22dd395fc473 Grant Likely 2012-02-15 @129 extern void of_node_put(struct device_node *node); 0f22dd395fc473 Grant Likely 2012-02-15 130 #else /* CONFIG_OF_DYNAMIC */ 3ecdd0515287af Rob Herring 2011-12-13 131 /* Dummy ref counting routines - to be implemented later */ 3ecdd0515287af Rob Herring 2011-12-13 132 static inline struct device_node *of_node_get(struct device_node *node) 3ecdd0515287af Rob Herring 2011-12-13 133 { 3ecdd0515287af Rob Herring 2011-12-13 134 return node; 3ecdd0515287af Rob Herring 2011-12-13 135 } 0f22dd395fc473 Grant Likely 2012-02-15 136 static inline void of_node_put(struct device_node *node) { } 0f22dd395fc473 Grant Likely 2012-02-15 137 #endif /* !CONFIG_OF_DYNAMIC */ 9448e55d032d99 Jonathan Cameron 2024-02-25 138 DEFINE_FREE(device_node, struct device_node *, if (_T) of_node_put(_T)) 3ecdd0515287af Rob Herring 2011-12-13 139