tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git tmp
head: 13665f1f8b5d501b40b1bc8448b0a032c7f04cc2
commit: bfe9fb20acec504e96b9124874369ed916bf5bf8 [12079/12184] drm/meson: meson_dw_hdmi:
add bridge and switch to drm_bridge_funcs
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable tmp
git checkout bfe9fb20acec504e96b9124874369ed916bf5bf8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/meson/meson_dw_hdmi.c:685:13: warning: 'struct
drm_bridge_state' declared inside parameter list will not be visible outside of this
definition or declaration
685 | struct drm_bridge_state *bridge_state,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:710:13: warning: 'struct
drm_bridge_state' declared inside parameter list will not be visible outside of this
definition or declaration
710 | struct drm_bridge_state *bridge_state,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c: In function
'meson_venc_hdmi_encoder_mode_set':
drivers/gpu/drm/meson/meson_dw_hdmi.c:755:38: warning: passing argument 3 of
'meson_venc_hdmi_mode_set' discards 'const' qualifier from pointer target
type [-Wdiscarded-qualifiers]
755 | meson_venc_hdmi_mode_set(priv, vic, mode);
| ^~~~
In file included from drivers/gpu/drm/meson/meson_dw_hdmi.c:32:
drivers/gpu/drm/meson/meson_venc.h:63:35: note: expected 'struct drm_display_mode
*' but argument is of type 'const struct drm_display_mode *'
63 | struct drm_display_mode *mode);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c: At top level:
drivers/gpu/drm/meson/meson_dw_hdmi.c:765:3: error: 'const struct
drm_bridge_funcs' has no member named 'atomic_duplicate_state'
765 | .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:765:28: error:
'drm_atomic_helper_bridge_duplicate_state' undeclared here (not in a function);
did you mean 'drm_atomic_helper_plane_duplicate_state'?
765 | .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| drm_atomic_helper_plane_duplicate_state
drivers/gpu/drm/meson/meson_dw_hdmi.c:766:3: error: 'const struct
drm_bridge_funcs' has no member named 'atomic_destroy_state'
766 | .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:766:26: error:
'drm_atomic_helper_bridge_destroy_state' undeclared here (not in a function); did
you mean 'drm_atomic_helper_plane_destroy_state'?
766 | .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| drm_atomic_helper_plane_destroy_state
drivers/gpu/drm/meson/meson_dw_hdmi.c:767:3: error: 'const struct
drm_bridge_funcs' has no member named 'atomic_get_input_bus_fmts'
767 | .atomic_get_input_bus_fmts = meson_venc_hdmi_encoder_get_inp_bus_fmts,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/meson/meson_dw_hdmi.c:767:31: error:
initialization of 'enum drm_mode_status (*)(struct drm_bridge *, const struct
drm_display_mode *)' 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]
767 |
.atomic_get_input_bus_fmts = meson_venc_hdmi_encoder_get_inp_bus_fmts,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:767:31: note: (near initialization for
'meson_venc_hdmi_encoder_bridge_funcs.mode_valid')
drivers/gpu/drm/meson/meson_dw_hdmi.c:768:3: error: 'const struct
drm_bridge_funcs' has no member named 'atomic_reset'
768 | .atomic_reset = drm_atomic_helper_bridge_reset,
| ^~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:768:18: error:
'drm_atomic_helper_bridge_reset' undeclared here (not in a function); did you mean
'drm_atomic_helper_plane_reset'?
768 | .atomic_reset = drm_atomic_helper_bridge_reset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| drm_atomic_helper_plane_reset
drivers/gpu/drm/meson/meson_dw_hdmi.c:769:3: error: 'const struct
drm_bridge_funcs' has no member named 'atomic_check'
769 | .atomic_check = meson_venc_hdmi_encoder_atomic_check,
| ^~~~~~~~~~~~
> drivers/gpu/drm/meson/meson_dw_hdmi.c:769:18: error:
initialization of 'void (*)(struct drm_bridge *)' from incompatible pointer type
'int (*)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *,
struct drm_connector_state *)' [-Werror=incompatible-pointer-types]
769 |
.atomic_check = meson_venc_hdmi_encoder_atomic_check,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:769:18: note: (near initialization for
'meson_venc_hdmi_encoder_bridge_funcs.disable')
drivers/gpu/drm/meson/meson_dw_hdmi.c:771:13: warning: initialized field overwritten
[-Woverride-init]
771 | .disable = meson_venc_hdmi_encoder_disable,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:771:13: note: (near initialization for
'meson_venc_hdmi_encoder_bridge_funcs.disable')
drivers/gpu/drm/meson/meson_dw_hdmi.c: In function 'meson_dw_hdmi_bind':
drivers/gpu/drm/meson/meson_dw_hdmi.c:1012:2: error: too many arguments to function
'drm_bridge_attach'
1012 | drm_bridge_attach(encoder, &meson_dw_hdmi->bridge, NULL, 0);
| ^~~~~~~~~~~~~~~~~
In file included from include/drm/drm_crtc.h:44,
from include/drm/drm_atomic_helper.h:31,
from drivers/gpu/drm/meson/meson_dw_hdmi.c:18:
include/drm/drm_bridge.h:406:5: note: declared here
406 | int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_dw_hdmi.c:1038:3: error: too many arguments to function
'drm_bridge_attach'
1038 | drm_bridge_attach(encoder, next_bridge,
| ^~~~~~~~~~~~~~~~~
In file included from include/drm/drm_crtc.h:44,
from include/drm/drm_atomic_helper.h:31,
from drivers/gpu/drm/meson/meson_dw_hdmi.c:18:
include/drm/drm_bridge.h:406:5: note: declared here
406 | int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +767 drivers/gpu/drm/meson/meson_dw_hdmi.c
763
764 static const struct drm_bridge_funcs meson_venc_hdmi_encoder_bridge_funcs = {
765 .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
766 .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
767 .atomic_get_input_bus_fmts =
meson_venc_hdmi_encoder_get_inp_bus_fmts,
768 .atomic_reset =
drm_atomic_helper_bridge_reset,
769 .atomic_check = meson_venc_hdmi_encoder_atomic_check,
770 .enable = meson_venc_hdmi_encoder_enable,
771 .disable = meson_venc_hdmi_encoder_disable,
772 .mode_set = meson_venc_hdmi_encoder_mode_set,
773 };
774
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org