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: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 7.5.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=7.5.0 make.cross ARCH=arm If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/gpu/drm/meson/meson_dw_hdmi.c:719:14: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration struct drm_bridge_state *bridge_state, ^~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:739:13: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration struct drm_bridge_state *bridge_state, ^~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:769:13: warning: 'struct drm_bridge_state' declared inside parameter list will not be visible outside of this definition or declaration struct drm_bridge_state *bridge_state, ^~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c: In function 'meson_venc_hdmi_encoder_atomic_check': >> drivers/gpu/drm/meson/meson_dw_hdmi.c:775:40: error: dereferencing pointer to incomplete type 'struct drm_bridge_state' dw_hdmi->output_bus_fmt = bridge_state->output_bus_cfg.format; ^~ drivers/gpu/drm/meson/meson_dw_hdmi.c: At top level: drivers/gpu/drm/meson/meson_dw_hdmi.c:842:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_duplicate_state'; did you mean 'atomic_disable'? .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, ^~~~~~~~~~~~~~~~~~~~~~ atomic_disable drivers/gpu/drm/meson/meson_dw_hdmi.c:842:28: error: 'drm_atomic_helper_bridge_duplicate_state' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_duplicate_state'? .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drm_atomic_helper_plane_duplicate_state drivers/gpu/drm/meson/meson_dw_hdmi.c:842:28: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] drivers/gpu/drm/meson/meson_dw_hdmi.c:842:28: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:843:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_destroy_state'; did you mean 'atomic_post_disable'? .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, ^~~~~~~~~~~~~~~~~~~~ atomic_post_disable drivers/gpu/drm/meson/meson_dw_hdmi.c:843:26: error: 'drm_atomic_helper_bridge_destroy_state' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_destroy_state'? .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drm_atomic_helper_plane_destroy_state drivers/gpu/drm/meson/meson_dw_hdmi.c:843:26: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] drivers/gpu/drm/meson/meson_dw_hdmi.c:843:26: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:844:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_get_output_bus_fmts' .atomic_get_output_bus_fmts = meson_venc_hdmi_encoder_get_out_bus_fmts, ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:844:32: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] .atomic_get_output_bus_fmts = meson_venc_hdmi_encoder_get_out_bus_fmts, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:844:32: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:844:32: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] drivers/gpu/drm/meson/meson_dw_hdmi.c:844:32: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs.disable') drivers/gpu/drm/meson/meson_dw_hdmi.c:845:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_get_input_bus_fmts' .atomic_get_input_bus_fmts = meson_venc_hdmi_encoder_get_inp_bus_fmts, ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:845:31: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] .atomic_get_input_bus_fmts = meson_venc_hdmi_encoder_get_inp_bus_fmts, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:845:31: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:845:31: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] drivers/gpu/drm/meson/meson_dw_hdmi.c:845:31: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs.atomic_enable') drivers/gpu/drm/meson/meson_dw_hdmi.c:846:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_reset'; did you mean 'atomic_enable'? .atomic_reset = drm_atomic_helper_bridge_reset, ^~~~~~~~~~~~ atomic_enable drivers/gpu/drm/meson/meson_dw_hdmi.c:846:18: error: 'drm_atomic_helper_bridge_reset' undeclared here (not in a function); did you mean 'drm_atomic_helper_plane_reset'? .atomic_reset = drm_atomic_helper_bridge_reset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drm_atomic_helper_plane_reset drivers/gpu/drm/meson/meson_dw_hdmi.c:846:18: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] drivers/gpu/drm/meson/meson_dw_hdmi.c:846:18: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:847:3: error: 'const struct drm_bridge_funcs' has no member named 'atomic_check'; did you mean 'atomic_enable'? .atomic_check = meson_venc_hdmi_encoder_atomic_check, ^~~~~~~~~~~~ atomic_enable drivers/gpu/drm/meson/meson_dw_hdmi.c:847:18: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] .atomic_check = meson_venc_hdmi_encoder_atomic_check, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/meson/meson_dw_hdmi.c:847:18: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs') drivers/gpu/drm/meson/meson_dw_hdmi.c:847:18: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] drivers/gpu/drm/meson/meson_dw_hdmi.c:847:18: note: (near initialization for 'meson_venc_hdmi_encoder_bridge_funcs.atomic_disable') cc1: some warnings being treated as errors vim +775 drivers/gpu/drm/meson/meson_dw_hdmi.c 767 768 static int meson_venc_hdmi_encoder_atomic_check(struct drm_bridge *bridge, 769 struct drm_bridge_state *bridge_state, 770 struct drm_crtc_state *crtc_state, 771 struct drm_connector_state *conn_state) 772 { 773 struct meson_dw_hdmi *dw_hdmi = bridge_to_meson_dw_hdmi(bridge); 774 > 775 dw_hdmi->output_bus_fmt = bridge_state->output_bus_cfg.format; 776 777 DRM_DEBUG_DRIVER("output_bus_fmt %lx\n", dw_hdmi->output_bus_fmt); 778 779 return 0; 780 } 781 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org