From 7c0762e8bb81c6f51df2dda68c344345bf7c4cc3 Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 14:35:39 +0200 Subject: [PATCH 1/6] gpio: adi-adsp-port: make set callback return int The gpio_chip.set callback now expects an int return value, but adsp_gpio_set_value() still returns void. This causes a build failure when assigning the callback to struct gpio_chip.set. Update adsp_gpio_set_value() to return int and return 0 after programming the GPIO state. No functional change is intended. Signed-off-by: Ozan Durgut --- drivers/gpio/gpio-adi-adsp-port.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-adi-adsp-port.c b/drivers/gpio/gpio-adi-adsp-port.c index 2a6957b7a3897f..c54a5e24a54935 100644 --- a/drivers/gpio/gpio-adi-adsp-port.c +++ b/drivers/gpio/gpio-adi-adsp-port.c @@ -50,7 +50,7 @@ static int adsp_gpio_direction_output(struct gpio_chip *chip, unsigned int offse return 0; } -static void adsp_gpio_set_value(struct gpio_chip *chip, unsigned int offset, int value) +static int adsp_gpio_set_value(struct gpio_chip *chip, unsigned int offset, int value) { struct adsp_gpio_port *port = to_adsp_gpio_port(chip); @@ -73,6 +73,8 @@ static void adsp_gpio_set_value(struct gpio_chip *chip, unsigned int offset, int else __adsp_gpio_writew(port, BIT(offset), ADSP_PORT_REG_DATA_CLEAR); } + + return 0; } static int adsp_gpio_get_value(struct gpio_chip *chip, unsigned int offset) From dcde17075749616e6cef69ddee20572b54df57ae Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 15:19:46 +0200 Subject: [PATCH 2/6] usb: musb: adi: replace from_timer() with timer_container_of() Newer kernels use timer_container_of() for timer callback container lookup, while from_timer() has been renamed as part of the timer API cleanup. Update the ADI MUSB glue driver to use timer_container_of() in musb_conn_timer_handler(). This matches the current timer API and is consistent with other in-tree MUSB drivers using dev_timer callbacks. This fixes the build failure seen on newer kernels where from_timer() is no longer available. No functional change intended. Link: https://lore.kernel.org/all/aB2X0jCKQO56WdMt@gmail.com/ Signed-off-by: Ozan Durgut --- drivers/usb/musb/adi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/musb/adi.c b/drivers/usb/musb/adi.c index 2b04c4a4b4f5d6..ba02badeb2c25d 100644 --- a/drivers/usb/musb/adi.c +++ b/drivers/usb/musb/adi.c @@ -35,7 +35,7 @@ struct adi_musb_glue { static void musb_conn_timer_handler(struct timer_list *t) { - struct musb *musb = from_timer(musb, t, dev_timer); + struct musb *musb = timer_container_of(musb, t, dev_timer); unsigned long flags; u16 val; static u8 toggle; From c45006a979f44745f073fd44d4f4537a9dcf6056 Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 15:38:27 +0200 Subject: [PATCH 3/6] usb: musb: adi: allow compile testing Allow the ADI MUSB driver to be built with COMPILE_TEST so it can be compile-checked by CI without requiring a target. Signed-off-by: Ozan Durgut --- drivers/usb/musb/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index 234f20a17021eb..8e92cf419960a9 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig @@ -107,7 +107,7 @@ config USB_MUSB_JZ4740 config USB_MUSB_ADI tristate "ADI" - depends on ARCH_SC59X || ARCH_SC58X || ARCH_SC57X + depends on ARCH_SC59X || ARCH_SC58X || ARCH_SC57X || COMPILE_TEST help Enable usb on ADI platforms. From f9cd301e762edb6c65bce8d0bead4a84c22d2186 Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 16:03:24 +0200 Subject: [PATCH 4/6] soc: adi: provide a stub for set_spu_securep_msec() A COMPILE_TEST build can now enable the ADI MUSB driver without also building the platform-specific provider of set_spu_securep_msec(), which causes a modpost undefined symbol failure. Signed-off-by: Ozan Durgut --- include/linux/soc/adi/cpu.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/linux/soc/adi/cpu.h b/include/linux/soc/adi/cpu.h index f246dbf84d2051..159a49a14673a5 100644 --- a/include/linux/soc/adi/cpu.h +++ b/include/linux/soc/adi/cpu.h @@ -118,7 +118,15 @@ void disable_gptimers(u16 mask); void map_gptimers(void); u16 get_gptimer_status(void); void set_gptimer_status(u16 value); +#if defined(CONFIG_ARCH_SC57X) || defined(CONFIG_ARCH_SC58X) || \ + defined(CONFIG_ARCH_SC59X) || defined(CONFIG_ARCH_SC59X_64) void set_spu_securep_msec(u16 n, bool msec); +#elif defined(CONFIG_COMPILE_TEST) +static inline void set_spu_securep_msec(u16 n, bool msec) +{ +} +#endif + void platform_ipi_init(void); #endif /* __MACH_CPU_H */ From 6d6bd0061b478c953bd6c6f788e5f83daa72d04c Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 16:04:45 +0200 Subject: [PATCH 5/6] gpio: adi-adsp-port: allow compile testing Allow the ADI ADSP PORT GPIO driver to be built with COMPILE_TEST so it can be compile-checked by CI without requiring a target. Signed-off-by: Ozan Durgut --- drivers/gpio/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 37e47aface8812..b438e0e68dbdf2 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -159,7 +159,7 @@ config GPIO_74XX_MMIO config GPIO_ADI_ADSP_PORT bool "ADI ADSP PORT GPIO driver" - depends on OF_GPIO + depends on OF_GPIO && (ARCH_SC59X_64 || ARCH_SC59X || ARCH_SC58X || ARCH_SC57X || COMPILE_TEST) select GPIO_GENERIC select ADI_ADSP_IRQ help From cb5a3000e3ba7e68664ff5df0998f3778563354f Mon Sep 17 00:00:00 2001 From: Ozan Durgut Date: Mon, 25 May 2026 16:08:17 +0200 Subject: [PATCH 6/6] irqchip: adi-adsp: allow compile testing Allow the ADI ADSP PINT irqchip driver to be built with COMPILE_TEST so it can be compile-checked by CI without requiring a target. Signed-off-by: Ozan Durgut --- drivers/irqchip/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index 9c3d6f09c5e2b6..1dac34febc920c 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig @@ -105,7 +105,7 @@ config ALPINE_MSI config ADI_ADSP_IRQ bool "ADI PORT PINT Driver" depends on OF - depends on (ARCH_SC59X_64 || ARCH_SC59X || ARCH_SC58X || ARCH_SC57X) + depends on (ARCH_SC59X_64 || ARCH_SC59X || ARCH_SC58X || ARCH_SC57X || COMPILE_TEST) select IRQ_DOMAIN help Say Y to enable the PORT-based PINT interrupt controller for