Hi
Am 30.10.25 um 05:14 schrieb Stephen Rothwell:
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 protected]>
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 protected]>
Acked-by: Thomas Zimmermann <[email protected]>
I think we can take your patch into drm-misc. Thanks for fixing this.
Best regards
Thomas
---
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>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)