Subject: linux-next: manual merge of the backlight tree with the drm-misc tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 30 Oct 2025 15:14:28 +1100

Hi all,

After merging the backlight tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/panel/panel-synaptics-tddi.c:41:41: error: array type has incomplete element type 'struct regulator_bulk_data'
   41 | static const struct regulator_bulk_data tddi_supplies[] = {
      |                                         ^~~~~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c: In function 'tddi_prepare':
drivers/gpu/drm/panel/panel-synaptics-tddi.c:72:15: error: implicit declaration of function 'regulator_bulk_enable' [-Wimplicit-function-declaration]
   72 |         ret = regulator_bulk_enable(ARRAY_SIZE(tddi_supplies), ctx->supplies);
      |               ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/dev_printk.h:14,
                 from include/linux/device.h:15,
                 from include/linux/backlight.h:12,
                 from drivers/gpu/drm/panel/panel-synaptics-tddi.c:8:
include/linux/compiler.h:201:82: error: expression in static assertion is not an integer
  201 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
      |                                                                                  ^
include/linux/compiler.h:206:33: note: in expansion of macro '__BUILD_BUG_ON_ZERO_MSG'
  206 | #define __must_be_array(a)      __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: in expansion of macro '__must_be_array'
   11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
      |                                                           ^~~~~~~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c:72:37: note: in expansion of macro 'ARRAY_SIZE'
   72 |         ret = regulator_bulk_enable(ARRAY_SIZE(tddi_supplies), ctx->supplies);
      |                                     ^~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c: In function 'tddi_unprepare':
drivers/gpu/drm/panel/panel-synaptics-tddi.c:101:9: error: implicit declaration of function 'regulator_bulk_disable' [-Wimplicit-function-declaration]
  101 |         regulator_bulk_disable(ARRAY_SIZE(tddi_supplies), ctx->supplies);
      |         ^~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:82: error: expression in static assertion is not an integer
  201 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
      |                                                                                  ^
include/linux/compiler.h:206:33: note: in expansion of macro '__BUILD_BUG_ON_ZERO_MSG'
  206 | #define __must_be_array(a)      __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: in expansion of macro '__must_be_array'
   11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
      |                                                           ^~~~~~~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c:101:32: note: in expansion of macro 'ARRAY_SIZE'
  101 |         regulator_bulk_disable(ARRAY_SIZE(tddi_supplies), ctx->supplies);
      |                                ^~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c: In function 'tddi_probe':
drivers/gpu/drm/panel/panel-synaptics-tddi.c:183:15: error: implicit declaration of function 'devm_regulator_bulk_get_const' [-Wimplicit-function-declaration]
  183 |         ret = devm_regulator_bulk_get_const(dev, ARRAY_SIZE(tddi_supplies),
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:82: error: expression in static assertion is not an integer
  201 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
      |                                                                                  ^
include/linux/compiler.h:206:33: note: in expansion of macro '__BUILD_BUG_ON_ZERO_MSG'
  206 | #define __must_be_array(a)      __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: in expansion of macro '__must_be_array'
   11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
      |                                                           ^~~~~~~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c:183:50: note: in expansion of macro 'ARRAY_SIZE'
  183 |         ret = devm_regulator_bulk_get_const(dev, ARRAY_SIZE(tddi_supplies),
      |                                                  ^~~~~~~~~~
drivers/gpu/drm/panel/panel-synaptics-tddi.c: At top level:
drivers/gpu/drm/panel/panel-synaptics-tddi.c:41:41: error: 'tddi_supplies' defined but not used [-Werror=unused-variable]
   41 | static const struct regulator_bulk_data tddi_supplies[] = {
      |                                         ^~~~~~~~~~~~~
cc1: all warnings being treated as errors

Caused by commit

  243ce64b2b37 ("backlight: Do not include <linux/fb.h> in header file")

interacting with commit

  3eae82503f4f ("drm: panel: add support for Synaptics TDDI series DSI panels")

from the drm-misc tree.

I have applied the following merge fix patch.  It (or something linke it)
should be applied to the drm-misc tree.

From: Stephen Rothwell <[email-masked]>
Date: Thu, 30 Oct 2025 14:57:03 +1100
Subject: [PATCH] fix up for "backlight: Do not include <linux/fb.h> in header file"

interacting with commit

  3eae82503f4f ("drm: panel: add support for Synaptics TDDI series DSI panels")

from the drm-misc tree.

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/gpu/drm/panel/panel-synaptics-tddi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-synaptics-tddi.c b/drivers/gpu/drm/panel/panel-synaptics-tddi.c
index a4b3cbdebb6c..0aea1854710e 100644
--- a/drivers/gpu/drm/panel/panel-synaptics-tddi.c
+++ b/drivers/gpu/drm/panel/panel-synaptics-tddi.c
@@ -9,6 +9,7 @@
 #include <linux/gpio/consumer.h>
 #include <linux/module.h>
 #include <linux/of.h>
+#include <linux/regulator/consumer.h>
 
 #include <video/mipi_display.h>
 
-- 
2.51.1

-- 
Cheers,
Stephen Rothwell