Hi Miaoqian,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next] [also build test ERROR 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: mips-randconfig-r072-20251028 (https://download.01.org/0day-ci/archive/20251028/202510282123.AjUbRs11-lkp@i...) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project e1ae12640102fd2b05bc567243580f90acb1135f) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510282123.AjUbRs11-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/202510282123.AjUbRs11-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/drm_bridge.c:37:
include/drm/drm_of.h:174:2: error: call to undeclared function 'of_node_put'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
174 | of_node_put(remote); | ^ 1 error generated. -- In file included from drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c:10:
include/drm/drm_of.h:174:2: error: call to undeclared function 'of_node_put'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
174 | of_node_put(remote); | ^ In file included from drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c:13: In file included from include/linux/backlight.h:13: In file included from include/linux/fb.h:5: In file included from include/uapi/linux/fb.h:6: In file included from include/linux/i2c.h:21: In file included from include/linux/irqdomain.h:14:
include/linux/of.h:129:13: error: conflicting types for 'of_node_put'
129 | extern void of_node_put(struct device_node *node); | ^ include/drm/drm_of.h:174:2: note: previous implicit declaration is here 174 | of_node_put(remote); | ^ 2 errors generated.
vim +/of_node_put +174 include/drm/drm_of.h
153 154 /* 155 * drm_of_panel_bridge_remove - remove panel bridge 156 * @np: device tree node containing panel bridge output ports 157 * 158 * Remove the panel bridge of a given DT node's port and endpoint number 159 * 160 * Returns zero if successful, or one of the standard error codes if it fails. 161 */ 162 static inline int drm_of_panel_bridge_remove(const struct device_node *np, 163 int port, int endpoint) 164 { 165 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_DRM_PANEL_BRIDGE) 166 struct drm_bridge *bridge; 167 struct device_node *remote; 168 169 remote = of_graph_get_remote_node(np, port, endpoint); 170 if (!remote) 171 return -ENODEV; 172 173 bridge = of_drm_find_bridge(remote);
174 of_node_put(remote);
175 drm_panel_bridge_remove(bridge); 176 177 return 0; 178 #else 179 return -EINVAL; 180 #endif 181 } 182