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

Reply via email to