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: x86_64-randconfig-161-20251028 (https://download.01.org/0day-ci/archive/20251028/202510282155.MdnvC7YI-lkp@i...) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510282155.MdnvC7YI-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/202510282155.MdnvC7YI-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/tiny/arcpgu.c:23: include/drm/drm_of.h: In function 'drm_of_panel_bridge_remove': include/drm/drm_of.h:174:9: error: implicit declaration of function 'of_node_put' [-Wimplicit-function-declaration] 174 | of_node_put(remote); | ^~~~~~~~~~~ In file included from include/linux/of_reserved_mem.h:6, from drivers/gpu/drm/tiny/arcpgu.c:28: include/linux/of.h: At top level:
include/linux/of.h:129:13: warning: conflicting types for 'of_node_put'; have 'void(struct device_node *)'
129 | extern void of_node_put(struct device_node *node); | ^~~~~~~~~~~ include/drm/drm_of.h:174:9: note: previous implicit declaration of 'of_node_put' with type 'void(struct device_node *)' 174 | of_node_put(remote); | ^~~~~~~~~~~
vim +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