Hi Grace,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next
tegra-drm/drm/tegra/for-next linus/master v5.14-rc1 next-20210714]
[cannot apply to drm/drm-next]
[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]
url:
https://github.com/0day-ci/linux/commits/Grace-An/drm-return-int-error-co...
base:
git://anongit.freedesktop.org/drm-intel for-linux-next
config: h8300-randconfig-r023-20210713 (attached as .config)
compiler: h8300-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://github.com/0day-ci/linux/commit/2f5324deb5c8ffa632b47e073c8f7c270...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Grace-An/drm-return-int-error-code-from-mode_fixup/20210714-154532
git checkout 2f5324deb5c8ffa632b47e073c8f7c27046d79a9
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir
ARCH=h8300 SHELL=/bin/bash drivers/gpu/drm/
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 >>):
In file included from include/linux/err.h:5,
from drivers/gpu/drm/drm_bridge.c:24:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_bridge.c: In function 'drm_atomic_bridge_check':
> drivers/gpu/drm/drm_bridge.c:744:11: error: 'ret'
undeclared (first use in this function); did you mean 'net'?
744 |
return ret;
| ^~~
| net
drivers/gpu/drm/drm_bridge.c:744:11: note: each undeclared identifier is reported only
once for each function it appears in
--
In file included from include/linux/err.h:5,
from include/linux/clk.h:12,
from drivers/gpu/drm/rcar-du/rcar_lvds.c:10:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_lvds.c: At top level:
> drivers/gpu/drm/rcar-du/rcar_lvds.c:695:16: error: initialization
of 'int (*)(struct drm_bridge *, const struct drm_display_mode *, struct
drm_display_mode *)' from incompatible pointer type '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 *)'}
[-Werror=incompatible-pointer-types]
695 | .mode_fixup =
rcar_lvds_mode_fixup,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_lvds.c:695:16: note: (near initialization for
'rcar_lvds_bridge_ops.mode_fixup')
cc1: some warnings being treated as errors
--
In file included from include/linux/kernel.h:11,
from include/linux/unaligned/packed_struct.h:4,
from include/asm-generic/unaligned.h:9,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from drivers/gpu/drm/bridge/sil-sii8620.c:9:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/sil-sii8620.c: At top level:
> drivers/gpu/drm/bridge/sil-sii8620.c:2283:16: error:
initialization of 'int (*)(struct drm_bridge *, const struct drm_display_mode *,
struct drm_display_mode *)' from incompatible pointer type '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 *)'} [-Werror=incompatible-pointer-types]
2283 |
.mode_fixup = sii8620_mode_fixup,
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/sil-sii8620.c:2283:16: note: (near initialization for
'sii8620_bridge_funcs.mode_fixup')
cc1: some warnings being treated as errors
--
In file included from include/linux/build_bug.h:5,
from include/linux/bits.h:22,
from drivers/gpu/drm/bridge/ti-sn65dsi83.c:28:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/ti-sn65dsi83.c: At top level:
> drivers/gpu/drm/bridge/ti-sn65dsi83.c:569:16: error:
initialization of 'int (*)(struct drm_bridge *, const struct drm_display_mode *,
struct drm_display_mode *)' from incompatible pointer type '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 *)'} [-Werror=incompatible-pointer-types]
569 |
.mode_fixup = sn65dsi83_mode_fixup,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/ti-sn65dsi83.c:569:16: note: (near initialization for
'sn65dsi83_funcs.mode_fixup')
cc1: some warnings being treated as errors
--
In file included from include/linux/err.h:5,
from include/linux/clk.h:12,
from drivers/gpu/drm/arm/display/komeda/komeda_crtc.c:7:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c: At top level:
> drivers/gpu/drm/arm/display/komeda/komeda_crtc.c:491:16: error:
initialization of 'int (*)(struct drm_crtc *, const struct drm_display_mode *, struct
drm_display_mode *)' from incompatible pointer type 'bool (*)(struct drm_crtc *,
const struct drm_display_mode *, struct drm_display_mode *)' {aka '_Bool
(*)(struct drm_crtc *, const struct drm_display_mode *, struct drm_display_mode *)'}
[-Werror=incompatible-pointer-types]
491 | .mode_fixup =
komeda_crtc_mode_fixup,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c:491:16: note: (near initialization for
'komeda_crtc_helper_funcs.mode_fixup')
cc1: some warnings being treated as errors
--
In file included from include/linux/gcd.h:5,
from drivers/gpu/drm/bridge/analogix/anx7625.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:50: warning: ordered comparison of pointer with null
pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET)
&& \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:137:10: note: in expansion of macro
'virt_addr_valid'
137 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c: At top level:
> drivers/gpu/drm/bridge/analogix/anx7625.c:1607:16: error:
initialization of 'int (*)(struct drm_bridge *, const struct drm_display_mode *,
struct drm_display_mode *)' from incompatible pointer type '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 *)'} [-Werror=incompatible-pointer-types]
1607 |
.mode_fixup = anx7625_bridge_mode_fixup,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1607:16: note: (near initialization for
'anx7625_bridge_funcs.mode_fixup')
cc1: some warnings being treated as errors
vim +744 drivers/gpu/drm/drm_bridge.c
723
724 static int drm_atomic_bridge_check(struct drm_bridge *bridge,
725 struct drm_crtc_state *crtc_state,
726 struct drm_connector_state *conn_state)
727 {
728 if (bridge->funcs->atomic_check) {
729 struct drm_bridge_state *bridge_state;
730 int ret;
731
732 bridge_state = drm_atomic_get_new_bridge_state(crtc_state->state,
733 bridge);
734 if (WARN_ON(!bridge_state))
735 return -EINVAL;
736
737 ret = bridge->funcs->atomic_check(bridge, bridge_state,
738 crtc_state, conn_state);
739 if (ret)
740 return ret;
741 } else if (bridge->funcs->mode_fixup) {
742 if (bridge->funcs->mode_fixup(bridge, &crtc_state->mode,
743 &crtc_state->adjusted_mode))
744 return ret;
745 }
746
747 return 0;
748 }
749
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org