Subject: Re: linux-next: build failure after merge of the drm-misc tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 12 Oct 2020 15:24:52 +1100

Hi all,

On Thu, 8 Oct 2020 15:42:02 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> On Thu, 8 Oct 2020 14:09:03 +1100 Stephen Rothwell <[email-masked]> wrote:
> >
> > After merging the drm-misc tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:  
> 
> In file included from include/linux/clk.h:13,
>                  from drivers/gpu/drm/ingenic/ingenic-drm-drv.c:10:
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c: In function 'ingenic_drm_update_palette':
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:35: error: 'struct ingenic_drm' has no member named 'dma_hwdescs'; did you mean 'dma_hwdesc_f0'?
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                                   ^~~~~~~~~~~
> include/linux/kernel.h:47:33: note: in definition of macro 'ARRAY_SIZE'
>    47 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>       |                                 ^~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:35: error: 'struct ingenic_drm' has no member named 'dma_hwdescs'; did you mean 'dma_hwdesc_f0'?
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                                   ^~~~~~~~~~~
> include/linux/kernel.h:47:48: note: in definition of macro 'ARRAY_SIZE'
>    47 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>       |                                                ^~~
> In file included from include/linux/bits.h:22,
>                  from include/linux/bitops.h:5,
>                  from drivers/gpu/drm/ingenic/ingenic-drm.h:10,
>                  from drivers/gpu/drm/ingenic/ingenic-drm-drv.c:7:
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:35: error: 'struct ingenic_drm' has no member named 'dma_hwdescs'; did you mean 'dma_hwdesc_f0'?
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                                   ^~~~~~~~~~~
> include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO'
>    16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
>       |                                                              ^
> include/linux/compiler.h:224:46: note: in expansion of macro '__same_type'
>   224 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
>       |                                              ^~~~~~~~~~~
> include/linux/kernel.h:47:59: note: in expansion of macro '__must_be_array'
>    47 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>       |                                                           ^~~~~~~~~~~~~~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:18: note: in expansion of macro 'ARRAY_SIZE'
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                  ^~~~~~~~~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:35: error: 'struct ingenic_drm' has no member named 'dma_hwdescs'; did you mean 'dma_hwdesc_f0'?
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                                   ^~~~~~~~~~~
> include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO'
>    16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
>       |                                                              ^
> include/linux/compiler.h:224:46: note: in expansion of macro '__same_type'
>   224 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
>       |                                              ^~~~~~~~~~~
> include/linux/kernel.h:47:59: note: in expansion of macro '__must_be_array'
>    47 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>       |                                                           ^~~~~~~~~~~~~~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:18: note: in expansion of macro 'ARRAY_SIZE'
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                  ^~~~~~~~~~
> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
>    16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
>       |                                                   ^
> include/linux/compiler.h:224:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
>   224 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
>       |                            ^~~~~~~~~~~~~~~~~
> include/linux/kernel.h:47:59: note: in expansion of macro '__must_be_array'
>    47 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>       |                                                           ^~~~~~~~~~~~~~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:448:18: note: in expansion of macro 'ARRAY_SIZE'
>   448 |  for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
>       |                  ^~~~~~~~~~
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:453:9: error: 'struct ingenic_drm' has no member named 'dma_hwdescs'; did you mean 'dma_hwdesc_f0'?
>   453 |   priv->dma_hwdescs->palette[i] = color;
>       |         ^~~~~~~~~~~
>       |         dma_hwdesc_f0
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c: In function 'ingenic_drm_plane_atomic_update':
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:467:3: error: 'crtc_state' undeclared (first use in this function); did you mean 'ctx_state'?
>   467 |   crtc_state = state->crtc->state;
>       |   ^~~~~~~~~~
>       |   ctx_state
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:467:3: note: each undeclared identifier is reported only once for each function it appears in
> At top level:
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c:443:13: warning: 'ingenic_drm_update_palette' defined but not used [-Wunused-function]
>   443 | static void ingenic_drm_update_palette(struct ingenic_drm *priv,
>       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> > I noticed that the ingenic driver revert I had been waiting for appeared
> > in hte drm-misc tree, so I removed the BROKEN dependency for it, but it
> > produced the above errors, so I have marked it BROKEN again.  

Any progress on this?  I am still marking CONFIG_DRM_INGENIC as BROKEN
in the drm and drm-misc trees.
-- 
Cheers,
Stephen Rothwell