linux-next: build failure after merge of the pmdomain-fixes tree
From: Mark Brown
Date: Tue Nov 10 2026 - 11:51:28 EST
Hi all,
After merging the pmdomain-fixes tree, today's linux-next build
(arm multi_v7_defconfig) failed like this:
In file included from /tmp/next/build/include/linux/device.h:32,
from /tmp/next/build/include/linux/platform_device.h:13,
from /tmp/next/build/drivers/pmdomain/imx/gpc.c:11:
/tmp/next/build/drivers/pmdomain/imx/gpc.c: In function 'imx_gpc_remove':
/tmp/next/build/drivers/pmdomain/imx/gpc.c:554:25: error: invalid storage class for function 'imx_gpc_driver_init'
554 | builtin_platform_driver(imx_gpc_driver)
| ^~~~~~~~~~~~~~
/tmp/next/build/include/linux/device/driver.h:294:19: note: in definition of macro 'builtin_driver'
294 | static int __init __driver##_init(void) \
| ^~~~~~~~
/tmp/next/build/drivers/pmdomain/imx/gpc.c:554:1: note: in expansion of macro 'builtin_platform_driver'
554 | builtin_platform_driver(imx_gpc_driver)
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/next/build/include/linux/printk.h:6,
from /tmp/next/build/include/asm-generic/bug.h:31,
from /tmp/next/build/arch/arm/include/asm/bug.h:60,
from /tmp/next/build/include/linux/bug.h:5,
from /tmp/next/build/include/linux/instrumented.h:10,
from /tmp/next/build/include/linux/atomic/atomic-instrumented.h:17,
from /tmp/next/build/include/linux/atomic.h:82,
from /tmp/next/build/include/asm-generic/bitops/lock.h:5,
from /tmp/next/build/arch/arm/include/asm/bitops.h:245,
from /tmp/next/build/include/linux/bitops.h:67,
from /tmp/next/build/include/linux/kernel.h:23,
from /tmp/next/build/include/linux/clk.h:13,
from /tmp/next/build/drivers/pmdomain/imx/gpc.c:7:
/tmp/next/build/drivers/pmdomain/imx/gpc.c:554:25: error: initializer element is not constant
554 | builtin_platform_driver(imx_gpc_driver)
| ^~~~~~~~~~~~~~
/tmp/next/build/include/linux/init.h:265:55: note: in definition of macro '____define_initcall'
265 | __attribute__((__section__(__sec))) = fn;
| ^~
/tmp/next/build/include/linux/init.h:275:9: note: in expansion of macro '__unique_initcall'
275 | __unique_initcall(fn, id, __sec, __initcall_id(fn))
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/init.h:277:35: note: in expansion of macro '___define_initcall'
277 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id)
| ^~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/init.h:306:41: note: in expansion of macro '__define_initcall'
306 | #define device_initcall(fn) __define_initcall(fn, 6)
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/device/driver.h:298:1: note: in expansion of macro 'device_initcall'
298 | device_initcall(__driver##_init);
| ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/platform_device.h:345:9: note: in expansion of macro 'builtin_driver'
345 | builtin_driver(__platform_driver, platform_driver_register)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/pmdomain/imx/gpc.c:554:1: note: in expansion of macro 'builtin_platform_driver'
554 | builtin_platform_driver(imx_gpc_driver)
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/init.h:176:30: error: expected declaration or statement at end of input
176 | #define THIS_MODULE ((struct module *)0)
| ^~~~~~
/tmp/next/build/include/linux/platform_device.h:304:41: note: in expansion of macro 'THIS_MODULE'
304 | __platform_driver_register(drv, THIS_MODULE, KBUILD_MODNAME)
| ^~~~~~~~~~~
/tmp/next/build/include/linux/device/driver.h:296:16: note: in expansion of macro 'platform_driver_register'
296 | return __register(&(__driver) , ##__VA_ARGS__); \
| ^~~~~~~~~~
/tmp/next/build/include/linux/platform_device.h:345:9: note: in expansion of macro 'builtin_driver'
345 | builtin_driver(__platform_driver, platform_driver_register)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/pmdomain/imx/gpc.c:554:1: note: in expansion of macro 'builtin_platform_driver'
554 | builtin_platform_driver(imx_gpc_driver)
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/pmdomain/imx/gpc.c: At top level:
/tmp/next/build/drivers/pmdomain/imx/gpc.c:503:13: warning: 'imx_gpc_remove' defined but not used [-Wunused-function]
503 | static void imx_gpc_remove(struct platform_device *pdev)
| ^~~~~~~~~~~~~~
AFAICT this is caused by commit
d7262971a2acc (pmdomain: imx: gpc: remove all initialized power domains)
though I don't really see how. I have used the tree from next-20261109
instead.
Attachment:
signature.asc
Description: PGP signature