Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [Medium] Dangling Kconfig dependencies and orphaned drivers reference removed Footbridge/NetWinder symbols. - [Medium] Dead code blocks conditionally compiled for deleted architectures remain in core ARM files. --
commit 5927fe5f70523467f7f940a2a1678e08472c6f67 Author: Arnd Bergmann <[email protected]> ARM: remove footbridge This commit removes the deprecated Footbridge platform, including the StrongARM EBSA285 and NetWinder machines. It deletes the associated architecture-specific Kconfig entries, makefiles, and source files. > diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c > index 4ec591bde3dfa..9865ec7f90d98 100644 > --- a/arch/arm/kernel/atags_parse.c > +++ b/arch/arm/kernel/atags_parse.c > @@ -69,24 +69,6 @@ static int __init parse_tag_mem32(const struct tag *tag) > > __tagtable(ATAG_MEM, parse_tag_mem32); > > -#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_VGA_CONSOLE) > -static int __init parse_tag_videotext(const struct tag *tag) > -{ [ ... ] > -__tagtable(ATAG_VIDEOTEXT, parse_tag_videotext); > -#endif > - [Severity: Medium] Since this patch removes the footbridge architecture, should similar arch-specific dead code be removed from arch/arm/kernel/atags_compat.c as well? For example, build_tag_list() in that file still retains conditional blocks for the removed configurations: #ifdef CONFIG_ARCH_NETWINDER if (params->u1.s.nr_pages != 0x02000 && ... #ifdef CONFIG_FOOTBRIDGE if (params->u1.s.mem_fclk_21285) { ... #ifdef CONFIG_ARCH_EBSA285 if (machine_is_ebsa285()) { > diff --git a/arch/arm/mach-footbridge/Kconfig > b/arch/arm/mach-footbridge/Kconfig > deleted file mode 100644 > index 96a74d447028d..0000000000000 > --- a/arch/arm/mach-footbridge/Kconfig > +++ /dev/null > @@ -1,57 +0,0 @@ [ ... ] > -config ARCH_NETWINDER > - bool "NetWinder" [ ... ] > -config FOOTBRIDGE > - def_bool y [Severity: Medium] By removing the FOOTBRIDGE and ARCH_NETWINDER configs here, what happens to the drivers in other subsystems that still depend on them? For example, drivers/watchdog/Kconfig still contains dependencies like: config 21285_WATCHDOG depends on FOOTBRIDGE And drivers/char/Kconfig has symbols like DS1620, NWBUTTON, and NWFLASH that depend on ARCH_NETWINDER. Will these be left permanently unbuildable since their configurations are orphaned? Additionally, 977_WATCHDOG depends on: (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST) If someone builds with COMPILE_TEST, won't this driver try to build but fail due to missing headers? > diff --git a/arch/arm/include/asm/hardware/dec21285.h > b/arch/arm/include/asm/hardware/dec21285.h > deleted file mode 100644 > index 894f2a635cbbd..0000000000000 > --- a/arch/arm/include/asm/hardware/dec21285.h > +++ /dev/null [Severity: Medium] Will the removal of this header cause fatal build errors for the orphaned drivers mentioned above? For example, if compilation is attempted (such as with COMPILE_TEST), nwflash_init() in drivers/char/nwflash.c and serial21285_init() in drivers/tty/serial/21285.c both still include <asm/hardware/dec21285.h>. Does this patch need to remove those orphaned drivers as well to prevent build breakages? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=2
