Hi Neil, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.5 next-20200207] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Neil-Armstrong/drm-bridge-dw-hdmi-implement-bus-format-negotiation-and-YUV420-support/20200209-150729 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d4f309ca411887cd61ea389c7abfb70c2eb1e532 config: openrisc-randconfig-a001-20200209 (attached as .config) compiler: or1k-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=openrisc If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2413:13: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration 2413 | struct drm_bridge_state *bridge_state, | ^~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2532:13: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration 2532 | struct drm_bridge_state *bridge_state, | ^~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2630:19: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration 2630 | struct drm_bridge_state *bridge_state, | ^~~~~~~~~~~~~~~~ In file included from include/linux/device.h:15, from include/linux/hdmi.h:28, from drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:12: drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: In function 'dw_hdmi_bridge_atomic_check': drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2637:16: error: dereferencing pointer to incomplete type 'struct drm_bridge_state' 2637 | bridge_state->output_bus_cfg.format); | ^~ include/linux/dev_printk.h:122:47: note: in definition of macro 'dev_dbg' 122 | dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \ | ^~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: At top level: drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2757:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_duplicate_state' 2757 | .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2757:28: error: 'drm_atomic_helper_bridge_duplicate_state' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_duplicate_state'? 2757 | .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_atomic_helper_plane_duplicate_state drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2758:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_destroy_state' 2758 | .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2758:26: error: 'drm_atomic_helper_bridge_destroy_state' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_destroy_state'? 2758 | .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_atomic_helper_plane_destroy_state drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2759:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_reset' 2759 | .atomic_reset = drm_atomic_helper_bridge_reset, | ^~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2759:18: error: 'drm_atomic_helper_bridge_reset' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_reset'? 2759 | .atomic_reset = drm_atomic_helper_bridge_reset, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_atomic_helper_plane_reset >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2762:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_check' 2762 | .atomic_check = dw_hdmi_bridge_atomic_check, | ^~~~~~~~~~~~ >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2762:18: error: initialization of 'enum drm_mode_status (*)(struct drm_bridge *, const struct drm_display_mode *)' from incompatible pointer type 'int (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *)' [-Werror=incompatible-pointer-types] 2762 | .atomic_check = dw_hdmi_bridge_atomic_check, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2762:18: note: (near initialization for 'dw_hdmi_bridge_funcs.mode_valid') drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2763:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_get_output_bus_fmts' 2763 | .atomic_get_output_bus_fmts = dw_hdmi_bridge_atomic_get_output_bus_fmts, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2763:32: error: initialization of 'bool (*)(struct drm_bridge *, const struct drm_display_mode *, struct drm_display_mode *)' {aka '_Bool (*)(struct drm_bridge *, const struct drm_display_mode *, struct drm_display_mode *)'} from incompatible pointer type 'u32 * (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int *)' {aka 'unsigned int * (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int *)'} [-Werror=incompatible-pointer-types] 2763 | .atomic_get_output_bus_fmts = dw_hdmi_bridge_atomic_get_output_bus_fmts, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2763:32: note: (near initialization for 'dw_hdmi_bridge_funcs.mode_fixup') drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2764:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_get_input_bus_fmts' 2764 | .atomic_get_input_bus_fmts = dw_hdmi_bridge_atomic_get_input_bus_fmts, | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2764:31: error: initialization of 'void (*)(struct drm_bridge *)' from incompatible pointer type 'u32 * (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, u32, unsigned int *)' {aka 'unsigned int * (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int, unsigned int *)'} [-Werror=incompatible-pointer-types] 2764 | .atomic_get_input_bus_fmts = dw_hdmi_bridge_atomic_get_input_bus_fmts, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:2764:31: note: (near initialization for 'dw_hdmi_bridge_funcs.disable') cc1: some warnings being treated as errors vim +2762 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 2755 2756 static const struct drm_bridge_funcs dw_hdmi_bridge_funcs = { 2757 .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, 2758 .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, 2759 .atomic_reset = drm_atomic_helper_bridge_reset, 2760 .attach = dw_hdmi_bridge_attach, 2761 .detach = dw_hdmi_bridge_detach, > 2762 .atomic_check = dw_hdmi_bridge_atomic_check, > 2763 .atomic_get_output_bus_fmts = dw_hdmi_bridge_atomic_get_output_bus_fmts, > 2764 .atomic_get_input_bus_fmts = dw_hdmi_bridge_atomic_get_input_bus_fmts, 2765 .enable = dw_hdmi_bridge_enable, 2766 .disable = dw_hdmi_bridge_disable, 2767 .mode_set = dw_hdmi_bridge_mode_set, 2768 .mode_valid = dw_hdmi_bridge_mode_valid, 2769 }; 2770 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org