Skip to content

Conversation

@pamolloy
Copy link
Collaborator

@pamolloy pamolloy commented Feb 4, 2026

Backport fixes to build the ADSP series on 6.18 (see #3101) onto 6.12. When we create the official 6.18 branch we'll squash these and other changes.

I didn't backport the following:

46922249bc3ef gpio: adi-adsp-port: Fix set callback signature to return int
f0939fa9b1582 usb: musb: adi: Update to timer_container_of

@pamolloy pamolloy added this to ADSP Feb 4, 2026
@pamolloy pamolloy force-pushed the adsp-6.12.0/philip/backport-6.18-fixes branch 5 times, most recently from 1b4e516 to 9c57e2b Compare February 4, 2026 16:45
@pamolloy pamolloy marked this pull request as ready for review February 5, 2026 08:04
@pamolloy pamolloy requested review from a team, gastmaier, nunojsa and ozan956 February 5, 2026 08:05
Copy link
Collaborator

@nunojsa nunojsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Update the driver to match the new `void` return type and remove the
useless `return 0;`.

The `remove` callback in `struct platform_driver` has transitioned to
returning `void` instead of `int`. This transition started with commit
5c5a768 ("platform: Provide a remove callback that returns no
value"), continued with commit 0edb555 ("platform: Make
platform_driver::remove() return void"), and was finalized in commit
e70140b ("Get rid of "remove_new" relic from platform driver
struct").

Fixes: f72ed8b ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Update the driver to match the new `void` return type and remove the
useless `return 0;`.

The `remove` callback in `struct platform_driver` has transitioned to
returning `void` instead of `int`. This transition started with commit
5c5a768 ("platform: Provide a remove callback that returns no
value"), continued with commit 0edb555 ("platform: Make
platform_driver::remove() return void"), and was finalized in commit
e70140b ("Get rid of "remove_new" relic from platform driver
struct").

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The ASoC core has removed the old DAI format macros (SND_SOC_DAIFMT_CBM_CFM,
etc.) in favor of the new Provider/Consumer terminology (SND_SOC_DAIFMT_CBP_CFP).

Update the adau1962 driver to use the new macros to fix compilation errors.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The ASoC core has removed the old DAI format macros (SND_SOC_DAIFMT_CBM_CFM,
etc.) in favor of the new Provider/Consumer terminology (SND_SOC_DAIFMT_CBP_CFP).

Update the sc5xx-i2s and sc5xx-asoc-card drivers to use the new macros to
fix compilation errors.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
del_timer() has been removed from the kernel API. Use timer_delete() instead.

Fixes: eab94da ("serial: Add UART driver for SC5xx SoCs")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
devm_spi_alloc_master() has been removed/renamed to devm_spi_alloc_host().
Update the driver to use the new API.

Fixes: a47e92c ("spi: Add v3 SPI controller support for ADSP-SC5xx")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: 2732646 ("net: stmmac: dwmac-adi: Add support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: 978d33c ("misc: sram: adi: Add drivers for ADSP-SCxxx SoCs")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: b50c372 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
adi_remoteproc.c includes arch specific code under linux/soc/ that is
not enabled with COMPILE_TEST making it impossible to build the driver
with COMPILE_TEST enabled

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The examples all used the same label, which caused dt_binding_check to
error. Also remove the 0x prefix in the unit address

Fixes: c8e1582 ("dt-bindings: clock: Add ADSP-SC5xx clock bindings")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Fix incorrect $id path and add missing descriptions and types to vendor
properties to satisfy meta-schema requirements. Additionally, add the
missing dt-bindings includes to the example so that it can be correctly
compiled during validation.

Fixes: b50c372 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The example provided in the binding document uses two interrupts ("mc" and
"dma"), but the schema was restricting 'interrupts' and 'interrupt-names'
to a maximum of 1 item.

This configuration is also observed in the device tree files for sc58x and
sc57x processors (arch/arm/boot/dts/adi/sc58x.dtsi and
arch/arm/boot/dts/adi/sc57x.dtsi), where 'adi,musb' nodes are defined with
two interrupts:

arch/arm/boot/dts/adi/sc58x.dtsi:
  usb0: usb@310c1000 {
      ...
      interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "mc", "dma";
      ...
  };

arch/arm/boot/dts/adi/sc57x.dtsi:
  usb0: usb@310c1000 {
      ...
      interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "mc", "dma";
      ...
  };

Update the schema to allow up to 2 interrupts and strictly define the
'interrupt-names' as "mc" and "dma" to match the example and hardware
requirements.

Fixes: b50c372 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Restrict the ADI SC59x clock drivers to their respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: 9cf6b0c ("clk: adi: Add clock driver for ADSP-SC594")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Restrict the ADI SC59x clock driver to the respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: b288b42 ("clk: adi: Add clock driver for ADSP-SC589")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Restrict the ADI SC573 clock driver to the respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: df2ba6d ("clk: adi: Add clock driver for ADSP-SC573")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Remove duplicate kconfig entry for COMMON_CLK_ADI_SC598 in
drivers/clk/Kconfig. An entry with the same name, along with entries for
other chips, already exists in drivers/clk/adi/Kconfig

Fixes: 71b82fe ("clock: Add driver for ADSP-SC5xx")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Introduce a hidden Kconfig symbol COMMON_CLK_ADI_PLL to handle the shared
PLL code in clk-adi-pll.c.

Previously, the Makefile attempted to build clk-adi-pll.o based on
architecture flags (ARCH_SC5XX, ARCH_SC59X_64), which is fragile and
incorrect if multiple drivers are enabled or if they are built as modules.

Update the specific clock drivers (SC57X, SC58X, SC594, SC598) to select
COMMON_CLK_ADI_PLL, and update the Makefile to build clk-adi-pll.o
only when this symbol is selected.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Enable COMPILE_TEST for ADI system configuration and PADS drivers.
This allows these drivers to be built on other architectures for
testing purposes, increasing build coverage.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Remove the unused drivers/soc/adi/mach-sc59x/Kconfig file.
The symbols defined in this file are not used.

Fixes: ca0a7f7 ("soc: adi: Add initial support for SC5xx SoCs")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The `.legacy_dai_naming = 1` flag was inadvertently removed from the
axi_spdif_component driver structure.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The `.legacy_dai_naming = 1` flag was inadvertently removed from the
axi_i2s_component driver structure.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
@pamolloy pamolloy force-pushed the adsp-6.12.0/philip/backport-6.18-fixes branch from 9c57e2b to f5bd045 Compare February 9, 2026 16:55
@pamolloy pamolloy merged commit 0b82ac5 into adsp-6.12.0-y Feb 9, 2026
16 of 27 checks passed
@github-project-automation github-project-automation bot moved this to Done in ADSP Feb 9, 2026
@pamolloy pamolloy deleted the adsp-6.12.0/philip/backport-6.18-fixes branch February 9, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants