Re: [PATCH 10/13] ARM: stm32: remove stm32f4/f7/h7 MCU support
From: sashiko-bot@kernel.org
Date: 2026-09-08 15:43:47
Also in:
imx
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Incomplete removal of STM32 MCU platform leaves orphaned drivers and dangling Kconfig references
- [Low] Grammatical typo in documentation update
--
commit b3d9699b653730bdc87f076ae9ec5792bb7764a3
Author: Arnd Bergmann [off-list ref]
ARM: stm32: remove stm32f4/f7/h7 MCU support
The stm32 platform started out as a Cortex-M based microcontoller
platform in 2007, with a few of the older products gaining Linux kernel
support in 2016. These days, the only relevant chips for Linux are the
stm32mp1 (Cortex-A7) and stm32mp2 (Cortex-A35) product lines, with the
microcontrollers running smaller RTOSs on new products.
The microcontrollers were marked as deprecated in the linux-7.3LTS
release, which will remain supported for a few more years and
is expected to be sufficient for any of the remaining original users.
Remove the MCU support now, leaving only the stm32mp SoCs in the platform.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/arch/arm/stm32/overview.rst b/Documentation/arch/arm/stm32/overview.rst index 85cfc84107983..b63aa875cb485 100644 --- a/Documentation/arch/arm/stm32/overview.rst +++ b/Documentation/arch/arm/stm32/overview.rst@@ -5,15 +5,13 @@ STM32 ARM Linux Overview Introduction ------------ -The STMicroelectronics STM32 family of Cortex-A microprocessors (MPUs) and -Cortex-M microcontrollers (MCUs) are supported by the 'STM32' platform of -ARM Linux. +The STMicroelectronics STM32 family of Cortex-A microprocessors (MPUs) is +supported by the 'STM32' platform of ARM Linux, support for the Cortex-M +based MCUs is has been removed.
[Severity: Low] Is there a grammatical typo here? Should it be "has been removed" instead of "is has been removed"? [ ... ]
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig index 4ac3384e397aa..6ca8507f94512 100644 --- a/arch/arm/mach-stm32/Kconfig +++ b/arch/arm/mach-stm32/Kconfig@@ -1,17 +1,15 @@ # SPDX-License-Identifier: GPL-2.0-only menuconfig ARCH_STM32 bool "STMicroelectronics STM32 family" - depends on ARM_SINGLE_ARMV7M || ARCH_MULTI_V7 - select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M - select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 - select ARM_GIC if ARCH_MULTI_V7 - select ARM_PSCI if ARCH_MULTI_V7 + depends on ARCH_MULTI_V7 + select HAVE_ARM_ARCH_TIMER + select ARM_GIC + select ARM_PSCI select ARM_AMBA select ARCH_HAS_RESET_CONTROLLER select CLKSRC_STM32 select PINCTRL select RESET_CONTROLLER - select STM32_EXTI if ARM_SINGLE_ARMV7M
[Severity: Medium] This is a pre-existing issue, but does removing this selection of STM32_EXTI permanently disable the irq-stm32-exti.c driver? Looking at drivers/irqchip/Kconfig on line 485, STM32_EXTI is defined as an invisible boolean config symbol. Without being selected here, the driver will never be built. Could the corresponding driver and Kconfig entry be removed as well?
quoted hunk ↗ jump to hunk
select STM32_FIREWALL help Support for STMicroelectronics STM32MP1 processors using Cortex-A7@@ -20,32 +18,6 @@ menuconfig ARCH_STM32 if ARCH_STM32 -if ARM_SINGLE_ARMV7M - -config MACH_STM32F429 - bool "STMicroelectronics STM32F429 (DEPRECATED)" - default y - -config MACH_STM32F469 - bool "STMicroelectronics STM32F469 (DEPRECATED)" - default y - -config MACH_STM32F746 - bool "STMicroelectronics STM32F746 (DEPRECATED)" - default y - -config MACH_STM32F769 - bool "STMicroelectronics STM32F769 (DEPRECATED)" - default y - -config MACH_STM32H743 - bool "STMicroelectronics STM32H743 (DEPRECATED)" - default y
[Severity: Medium]
This isn't a bug introduced by this patch, but doesn't removing these MCU
and debug configs leave dangling references in other files?
For instance, in drivers/clk/Kconfig at line 442, COMMON_CLK_STM32F relies
on these now-undefined symbols:
def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
This silently disables the clock driver and leaves it as dead code. Similarly,
drivers/pinctrl/stm32/Kconfig on line 14 uses MACH_STM32F429 in its visibility
condition for PINCTRL_STM32F429. In arch/arm/include/debug/stm32.S on line 7,
the preprocessor directive checks for CONFIG_STM32F4_DEBUG_UART, which was
also removed in this patch.
Could these remaining orphaned drivers and dead references be cleaned up as
well?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260908152808.3928630-1-arnd@kernel.org?part=10