Hi Stephen, I love your patch! Perhaps something to improve: [auto build test WARNING on e4e737bb5c170df6135a127739a9e6148ee3da82] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200 base: e4e737bb5c170df6135a127739a9e6148ee3da82 config: s390-randconfig-r044-20211006 (attached as .config) compiler: s390-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/8de4fafdac42c316be0fc23e4176e13043031a38 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200 git checkout 8de4fafdac42c316be0fc23e4176e13043031a38 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash drivers/gpu/drm/bridge/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/bridge/chipone-icn6211.c:7: >> include/drm/drm_of.h:45:35: warning: 'struct aggregate_driver' declared inside parameter list will not be visible outside of this definition or declaration 45 | struct aggregate_driver *adrv); | ^~~~~~~~~~~~~~~~ vim +45 include/drm/drm_of.h 30 31 #ifdef CONFIG_OF 32 uint32_t drm_of_crtc_port_mask(struct drm_device *dev, 33 struct device_node *port); 34 uint32_t drm_of_find_possible_crtcs(struct drm_device *dev, 35 struct device_node *port); 36 void drm_of_component_match_add(struct device *master, 37 struct component_match **matchptr, 38 int (*compare)(struct device *, void *), 39 struct device_node *node); 40 int drm_of_component_probe(struct device *dev, 41 int (*compare_of)(struct device *, void *), 42 const struct component_master_ops *m_ops); 43 int drm_of_aggregate_probe(struct device *dev, 44 int (*compare_of)(struct device *, void *), > 45 struct aggregate_driver *adrv); 46 int drm_of_encoder_active_endpoint(struct device_node *node, 47 struct drm_encoder *encoder, 48 struct of_endpoint *endpoint); 49 int drm_of_find_panel_or_bridge(const struct device_node *np, 50 int port, int endpoint, 51 struct drm_panel **panel, 52 struct drm_bridge **bridge); 53 int drm_of_lvds_get_dual_link_pixel_order(const struct device_node *port1, 54 const struct device_node *port2); 55 #else 56 static inline uint32_t drm_of_crtc_port_mask(struct drm_device *dev, 57 struct device_node *port) 58 { 59 return 0; 60 } 61 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org