Message ID | 20211102110519.142434-1-krzysztof.kozlowski@canonical.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [RFC] ARM: s3c: mark as deprecated and schedule removal after 2022 | expand |
On 02/11/2021 12:05, Krzysztof Kozlowski wrote: > The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 > was introduced in 2008 and S3C6410 in 2009/2010. They are not widely > available anymore - out-of-stock on FriendlyArm (one of manufacturers of > boards) and only few specialist stores still offer them for quite a high > price. > > The community around these platforms was not very active, so I suspect > no one really uses them anymore. Maintenance takes precious time so > there is little sense in keeping them alive if there are no real users. > > Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention > possible removal in one year (after 2022). The deprecation message will > be as text in Kconfig, build message (not a warning though) and runtime > print error. > > If there are any users, they might respond and postpone the removal. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > --- > arch/arm/Kconfig | 7 ++++++- > arch/arm/mach-s3c/Kconfig.s3c64xx | 7 ++++++- > arch/arm/mach-s3c/cpu.c | 1 + > arch/arm/mach-s3c/init.c | 2 ++ > arch/arm/mach-s3c/s3c24xx.c | 5 +++++ > arch/arm/mach-s3c/s3c64xx.c | 5 +++++ > 6 files changed, 25 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index f0f9e8bec83a..bd8237c7e7f1 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -473,7 +473,7 @@ config ARCH_SA1100 > Support for StrongARM 11x0 based boards. > > config ARCH_S3C24XX > - bool "Samsung S3C24XX SoCs" > + bool "Samsung S3C24XX SoCs (deprecated, see help)" > select ATAGS > select CLKSRC_SAMSUNG_PWM > select GPIO_SAMSUNG > @@ -491,6 +491,11 @@ config ARCH_S3C24XX > (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the > Samsung SMDK2410 development board (and derivatives). > > + The platform is deprecated and scheduled in removal. Please reach to Language typo - "for removal". I'll fix it in v2, if the idea looks reasonable. Best regards, Krzysztof
On Tue, Nov 2, 2021 at 12:05 PM Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > > The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 > was introduced in 2008 and S3C6410 in 2009/2010. They are not widely > available anymore - out-of-stock on FriendlyArm (one of manufacturers of > boards) and only few specialist stores still offer them for quite a high > price. > > The community around these platforms was not very active, so I suspect > no one really uses them anymore. Maintenance takes precious time so > there is little sense in keeping them alive if there are no real users. > > Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention > possible removal in one year (after 2022). The deprecation message will > be as text in Kconfig, build message (not a warning though) and runtime > print error. > > If there are any users, they might respond and postpone the removal. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Looks good to me. We have a couple of platforms that are in a similar state, and we could do the same there. I'd have to dig through https://lore.kernel.org/linux-arm-kernel/CAK8P3a2VW8T+yYUG1pn1yR-5eU4jJXe1+M_ot6DAvfr2KyXCzQ@mail.gmail.com/ to see which ones promised to get back to working on the code and ended up not doing so. ;-) The ones that would help the most in removing are probably omap1, pxa, and the strongarm-based platforms: those have a lot of special cases in the code base. At least a year ago the maintainers wanted to keep those around, but maybe the 2022 LTS kernel is a better time for planned EOL. I also still have a backlog of cleanup patches for omap1 and pxa (similar to the s3c24xx changes I did) that we should get mainlined if we want to keep them around after all. At some point later we can also seriously look into removing all non-DT machine support, which would impact all of these: $ git grep -w MACHINE_START arch/arm/mach-* | cut -f 3 -d/ | uniq -c 1 mach-cns3xxx 12 mach-davinci 2 mach-dove 19 mach-ep93xx 3 mach-footbridge 6 mach-iop32x 2 mach-ixp4xx 10 mach-mmp 3 mach-mv78xx0 14 mach-omap1 17 mach-orion5x 62 mach-pxa 1 mach-rpc 36 mach-s3c 13 mach-sa1100 > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." > diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c > index 4dfb648142f2..3e248f0e96a2 100644 > --- a/arch/arm/mach-s3c/s3c64xx.c > +++ b/arch/arm/mach-s3c/s3c64xx.c > @@ -425,3 +425,8 @@ static int __init s3c64xx_init_irq_eint(void) > return 0; > } > arch_initcall(s3c64xx_init_irq_eint); > + > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." I don't want these to clutter up my randconfig build output, which I keep completely empty by default. If you add an #ifndef CONFIG_COMPILE_TEST check around them, I'm fine with it though -- it would still catch all real users without bothering build-testing bots. I think even with CONFIG_WERROR, we don't fail the build for #warning, so that would also work in place of #pragma message. Arnd
On 02/11/2021 14:05, Arnd Bergmann wrote: > On Tue, Nov 2, 2021 at 12:05 PM Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com> wrote: >> >> The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 >> was introduced in 2008 and S3C6410 in 2009/2010. They are not widely >> available anymore - out-of-stock on FriendlyArm (one of manufacturers of >> boards) and only few specialist stores still offer them for quite a high >> price. >> >> The community around these platforms was not very active, so I suspect >> no one really uses them anymore. Maintenance takes precious time so >> there is little sense in keeping them alive if there are no real users. >> >> Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention >> possible removal in one year (after 2022). The deprecation message will >> be as text in Kconfig, build message (not a warning though) and runtime >> print error. >> >> If there are any users, they might respond and postpone the removal. >> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > > Looks good to me. > > We have a couple of platforms that are in a similar state, and we could do > the same there. I'd have to dig through > https://lore.kernel.org/linux-arm-kernel/CAK8P3a2VW8T+yYUG1pn1yR-5eU4jJXe1+M_ot6DAvfr2KyXCzQ@mail.gmail.com/ > to see which ones promised to get back to working on the code and > ended up not doing so. ;-) > > The ones that would help the most in removing are probably omap1, > pxa, and the strongarm-based platforms: those have a lot of special > cases in the code base. At least a year ago the maintainers wanted > to keep those around, but maybe the 2022 LTS kernel is a better > time for planned EOL. If the maintainers or users expressed wish to keep them alive, let's keep them. In fact there might be some industrial machine working for 20 more years... If you did not receive any feedback about your queries, I am happy to add similar deprecation-warning notes to these as well. Just let me know which one should be affected. > I also still have a backlog of cleanup patches > for omap1 and pxa (similar to the s3c24xx changes I did) that we > should get mainlined if we want to keep them around after all. > > At some point later we can also seriously look into removing all > non-DT machine support, which would impact all of these: > > $ git grep -w MACHINE_START arch/arm/mach-* | cut -f 3 -d/ | uniq -c > 1 mach-cns3xxx > 12 mach-davinci > 2 mach-dove > 19 mach-ep93xx > 3 mach-footbridge > 6 mach-iop32x > 2 mach-ixp4xx > 10 mach-mmp > 3 mach-mv78xx0 > 14 mach-omap1 > 17 mach-orion5x > 62 mach-pxa > 1 mach-rpc > 36 mach-s3c > 13 mach-sa1100 > >> +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ >> + "Please reach to the maintainers of the platform " \ >> + "and linux-samsung-soc@vger.kernel.org if you still use it." \ >> + "Without such feedback, the platform will be removed after 2022." >> diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c >> index 4dfb648142f2..3e248f0e96a2 100644 >> --- a/arch/arm/mach-s3c/s3c64xx.c >> +++ b/arch/arm/mach-s3c/s3c64xx.c >> @@ -425,3 +425,8 @@ static int __init s3c64xx_init_irq_eint(void) >> return 0; >> } >> arch_initcall(s3c64xx_init_irq_eint); >> + >> +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ >> + "Please reach to the maintainers of the platform " \ >> + "and linux-samsung-soc@vger.kernel.org if you still use it." \ >> + "Without such feedback, the platform will be removed after 2022." > > I don't want these to clutter up my randconfig build output, which I keep > completely empty by default. If you add an > > #ifndef CONFIG_COMPILE_TEST > > check around them, I'm fine with it though -- it would still catch all > real users > without bothering build-testing bots. I like that idea, I'll use it in v2. No one really should build a real config with COMPILE_TEST and I want to nag and find the real users. > I think even with CONFIG_WERROR, we don't fail the build for #warning, > so that would also work in place of #pragma message. It fails, I tried it. That's why #pragma. Best regards, Krzysztof
On 02/11/2021 15:55, Krzysztof Kozlowski wrote: >> The ones that would help the most in removing are probably omap1, >> pxa, and the strongarm-based platforms: those have a lot of special >> cases in the code base. At least a year ago the maintainers wanted >> to keep those around, but maybe the 2022 LTS kernel is a better >> time for planned EOL. Yes, either we retire the platform with LTS kernel or we should wait few releases. Otherwise if we remove the platform on LTS+1, the LTS effectively won't get any updates specific for that platform. Best regards, Krzysztof
On Tue, Nov 2, 2021 at 3:55 PM Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > On 02/11/2021 14:05, Arnd Bergmann wrote: > > On Tue, Nov 2, 2021 at 12:05 PM Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > > > > The ones that would help the most in removing are probably omap1, > > pxa, and the strongarm-based platforms: those have a lot of special > > cases in the code base. At least a year ago the maintainers wanted > > to keep those around, but maybe the 2022 LTS kernel is a better > > time for planned EOL. > > If the maintainers or users expressed wish to keep them alive, let's > keep them. In fact there might be some industrial machine working for 20 > more years... > > If you did not receive any feedback about your queries, I am happy to > add similar deprecation-warning notes to these as well. Just let me know > which one should be affected. There are definitely platforms with long service life, such as ep93xx or ixp4xx, both of which are actively being worked on. For the other ones, I think it worth asking again every other year or so, either for modernising or dropping them in the long run. > > check around them, I'm fine with it though -- it would still catch all > > real users without bothering build-testing bots. > > I like that idea, I'll use it in v2. No one really should build a real > config with COMPILE_TEST and I want to nag and find the real users. > > > I think even with CONFIG_WERROR, we don't fail the build for #warning, > > so that would also work in place of #pragma message. > > It fails, I tried it. That's why #pragma. Ok, #pragma with #ifdef is fine then. Arnd
On Tue, Nov 02, 2021 at 12:05:19PM +0100, Krzysztof Kozlowski wrote: > Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention > possible removal in one year (after 2022). The deprecation message will > be as text in Kconfig, build message (not a warning though) and runtime > print error. > > If there are any users, they might respond and postpone the removal. The Speyside system is s3c64xx based, I'm in the middle of reorganising my hardware setup so it's not usable right now but it's quite useful.
Am Dienstag, 2. November 2021, 12:05:19 CET schrieb Krzysztof Kozlowski: > The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 > was introduced in 2008 and S3C6410 in 2009/2010. They are not widely > available anymore - out-of-stock on FriendlyArm (one of manufacturers of > boards) and only few specialist stores still offer them for quite a high > price. > > The community around these platforms was not very active, so I suspect > no one really uses them anymore. Maintenance takes precious time so > there is little sense in keeping them alive if there are no real users. > > Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention > possible removal in one year (after 2022). The deprecation message will > be as text in Kconfig, build message (not a warning though) and runtime > print error. > > If there are any users, they might respond and postpone the removal. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> s3c2416/s3c2450 was my entry into kernel development, so I have an emotional connection to it ;-) - and also still hold onto a stash of devices. Nevertheless personally I don't see myself finding the time to continue working on those platforms (or the s3c2443-based Openmoko Freerunner I also still have), because as you said those platforms are so old. So Acked-by: Heiko Stuebner <heiko@sntech.de> > --- > arch/arm/Kconfig | 7 ++++++- > arch/arm/mach-s3c/Kconfig.s3c64xx | 7 ++++++- > arch/arm/mach-s3c/cpu.c | 1 + > arch/arm/mach-s3c/init.c | 2 ++ > arch/arm/mach-s3c/s3c24xx.c | 5 +++++ > arch/arm/mach-s3c/s3c64xx.c | 5 +++++ > 6 files changed, 25 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index f0f9e8bec83a..bd8237c7e7f1 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -473,7 +473,7 @@ config ARCH_SA1100 > Support for StrongARM 11x0 based boards. > > config ARCH_S3C24XX > - bool "Samsung S3C24XX SoCs" > + bool "Samsung S3C24XX SoCs (deprecated, see help)" > select ATAGS > select CLKSRC_SAMSUNG_PWM > select GPIO_SAMSUNG > @@ -491,6 +491,11 @@ config ARCH_S3C24XX > (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the > Samsung SMDK2410 development board (and derivatives). > > + The platform is deprecated and scheduled in removal. Please reach to > + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if > + you still use it. > + Without such feedback, the platform will be removed after 2022. > + > config ARCH_OMAP1 > bool "TI OMAP1" > depends on MMU > diff --git a/arch/arm/mach-s3c/Kconfig.s3c64xx b/arch/arm/mach-s3c/Kconfig.s3c64xx > index f3fcb570edf5..3b090ae72bbd 100644 > --- a/arch/arm/mach-s3c/Kconfig.s3c64xx > +++ b/arch/arm/mach-s3c/Kconfig.s3c64xx > @@ -4,7 +4,7 @@ > # Simtec Electronics, Ben Dooks <ben@simtec.co.uk> > > menuconfig ARCH_S3C64XX > - bool "Samsung S3C64XX" > + bool "Samsung S3C64XX (deprecated, see help)" > depends on ARCH_MULTI_V6 > select ARM_AMBA > select ARM_VIC > @@ -25,6 +25,11 @@ menuconfig ARCH_S3C64XX > help > Samsung S3C64XX series based systems > > + The platform is deprecated and scheduled in removal. Please reach to > + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if > + you still use it. > + Without such feedback, the platform will be removed after 2022. > + > if ARCH_S3C64XX > > # Configuration options for the S3C6410 CPU > diff --git a/arch/arm/mach-s3c/cpu.c b/arch/arm/mach-s3c/cpu.c > index 6e9772555f0d..3b16cf42910f 100644 > --- a/arch/arm/mach-s3c/cpu.c > +++ b/arch/arm/mach-s3c/cpu.c > @@ -28,4 +28,5 @@ void __init s3c64xx_init_cpu(void) > } > > pr_info("Samsung CPU ID: 0x%08lx\n", samsung_cpu_id); > + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); > } > diff --git a/arch/arm/mach-s3c/init.c b/arch/arm/mach-s3c/init.c > index 9d92f03e9bc1..5db7dc54340c 100644 > --- a/arch/arm/mach-s3c/init.c > +++ b/arch/arm/mach-s3c/init.c > @@ -59,6 +59,8 @@ void __init s3c_init_cpu(unsigned long idcode, > > if (cpu->map_io) > cpu->map_io(); > + > + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); > } > > /* s3c24xx_init_clocks > diff --git a/arch/arm/mach-s3c/s3c24xx.c b/arch/arm/mach-s3c/s3c24xx.c > index ccfed48c98aa..2ea1cb21dfbc 100644 > --- a/arch/arm/mach-s3c/s3c24xx.c > +++ b/arch/arm/mach-s3c/s3c24xx.c > @@ -678,3 +678,8 @@ struct platform_device s3c2410_device_dclk = { > }, > }; > #endif > + > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." > diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c > index 4dfb648142f2..3e248f0e96a2 100644 > --- a/arch/arm/mach-s3c/s3c64xx.c > +++ b/arch/arm/mach-s3c/s3c64xx.c > @@ -425,3 +425,8 @@ static int __init s3c64xx_init_irq_eint(void) > return 0; > } > arch_initcall(s3c64xx_init_irq_eint); > + > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." >
On 02/11/2021 17:37, Mark Brown wrote: > On Tue, Nov 02, 2021 at 12:05:19PM +0100, Krzysztof Kozlowski wrote: > >> Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention >> possible removal in one year (after 2022). The deprecation message will >> be as text in Kconfig, build message (not a warning though) and runtime >> print error. >> >> If there are any users, they might respond and postpone the removal. > > The Speyside system is s3c64xx based, I'm in the middle of reorganising > my hardware setup so it's not usable right now but it's quite useful. > Thanks Mark for the feedback! If we keep the s3c64xx, are you able to provide some tests from time to time? Best regards, Krzysztof
2021年11月2日(火) 20:05 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>: > > The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 > was introduced in 2008 and S3C6410 in 2009/2010. They are not widely > available anymore - out-of-stock on FriendlyArm (one of manufacturers of FWIW, I still see mini6410 and (compatible) tiny6410 available on AliExpress, although it's not a good enough reason to keep a platform without active users. (and I also have one, but haven't made any use of it for 7 years or so and don't see myself finding time to invest into it) Acked-by: Tomasz Figa <tomasz.figa@gmail.com> Best regards, Tomasz > boards) and only few specialist stores still offer them for quite a high > price. > > The community around these platforms was not very active, so I suspect > no one really uses them anymore. Maintenance takes precious time so > there is little sense in keeping them alive if there are no real users. > > Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention > possible removal in one year (after 2022). The deprecation message will > be as text in Kconfig, build message (not a warning though) and runtime > print error. > > If there are any users, they might respond and postpone the removal. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > --- > arch/arm/Kconfig | 7 ++++++- > arch/arm/mach-s3c/Kconfig.s3c64xx | 7 ++++++- > arch/arm/mach-s3c/cpu.c | 1 + > arch/arm/mach-s3c/init.c | 2 ++ > arch/arm/mach-s3c/s3c24xx.c | 5 +++++ > arch/arm/mach-s3c/s3c64xx.c | 5 +++++ > 6 files changed, 25 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index f0f9e8bec83a..bd8237c7e7f1 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -473,7 +473,7 @@ config ARCH_SA1100 > Support for StrongARM 11x0 based boards. > > config ARCH_S3C24XX > - bool "Samsung S3C24XX SoCs" > + bool "Samsung S3C24XX SoCs (deprecated, see help)" > select ATAGS > select CLKSRC_SAMSUNG_PWM > select GPIO_SAMSUNG > @@ -491,6 +491,11 @@ config ARCH_S3C24XX > (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the > Samsung SMDK2410 development board (and derivatives). > > + The platform is deprecated and scheduled in removal. Please reach to > + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if > + you still use it. > + Without such feedback, the platform will be removed after 2022. > + > config ARCH_OMAP1 > bool "TI OMAP1" > depends on MMU > diff --git a/arch/arm/mach-s3c/Kconfig.s3c64xx b/arch/arm/mach-s3c/Kconfig.s3c64xx > index f3fcb570edf5..3b090ae72bbd 100644 > --- a/arch/arm/mach-s3c/Kconfig.s3c64xx > +++ b/arch/arm/mach-s3c/Kconfig.s3c64xx > @@ -4,7 +4,7 @@ > # Simtec Electronics, Ben Dooks <ben@simtec.co.uk> > > menuconfig ARCH_S3C64XX > - bool "Samsung S3C64XX" > + bool "Samsung S3C64XX (deprecated, see help)" > depends on ARCH_MULTI_V6 > select ARM_AMBA > select ARM_VIC > @@ -25,6 +25,11 @@ menuconfig ARCH_S3C64XX > help > Samsung S3C64XX series based systems > > + The platform is deprecated and scheduled in removal. Please reach to > + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if > + you still use it. > + Without such feedback, the platform will be removed after 2022. > + > if ARCH_S3C64XX > > # Configuration options for the S3C6410 CPU > diff --git a/arch/arm/mach-s3c/cpu.c b/arch/arm/mach-s3c/cpu.c > index 6e9772555f0d..3b16cf42910f 100644 > --- a/arch/arm/mach-s3c/cpu.c > +++ b/arch/arm/mach-s3c/cpu.c > @@ -28,4 +28,5 @@ void __init s3c64xx_init_cpu(void) > } > > pr_info("Samsung CPU ID: 0x%08lx\n", samsung_cpu_id); > + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); > } > diff --git a/arch/arm/mach-s3c/init.c b/arch/arm/mach-s3c/init.c > index 9d92f03e9bc1..5db7dc54340c 100644 > --- a/arch/arm/mach-s3c/init.c > +++ b/arch/arm/mach-s3c/init.c > @@ -59,6 +59,8 @@ void __init s3c_init_cpu(unsigned long idcode, > > if (cpu->map_io) > cpu->map_io(); > + > + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); > } > > /* s3c24xx_init_clocks > diff --git a/arch/arm/mach-s3c/s3c24xx.c b/arch/arm/mach-s3c/s3c24xx.c > index ccfed48c98aa..2ea1cb21dfbc 100644 > --- a/arch/arm/mach-s3c/s3c24xx.c > +++ b/arch/arm/mach-s3c/s3c24xx.c > @@ -678,3 +678,8 @@ struct platform_device s3c2410_device_dclk = { > }, > }; > #endif > + > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." > diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c > index 4dfb648142f2..3e248f0e96a2 100644 > --- a/arch/arm/mach-s3c/s3c64xx.c > +++ b/arch/arm/mach-s3c/s3c64xx.c > @@ -425,3 +425,8 @@ static int __init s3c64xx_init_irq_eint(void) > return 0; > } > arch_initcall(s3c64xx_init_irq_eint); > + > +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ > + "Please reach to the maintainers of the platform " \ > + "and linux-samsung-soc@vger.kernel.org if you still use it." \ > + "Without such feedback, the platform will be removed after 2022." > -- > 2.32.0 >
On Wed, Nov 03, 2021 at 09:27:46AM +0100, Krzysztof Kozlowski wrote: > On 02/11/2021 17:37, Mark Brown wrote: > > The Speyside system is s3c64xx based, I'm in the middle of reorganising > > my hardware setup so it's not usable right now but it's quite useful. > Thanks Mark for the feedback! If we keep the s3c64xx, are you able to > provide some tests from time to time? Hopefully, yes.
On 11/2/21 12:05 PM, Krzysztof Kozlowski wrote:
> If there are any users, they might respond and postpone the removal.
Hi Krzysztof,
I use a mini2440 (which is s3c2440) as an http server at home.
I don't have much time but I can do some testing from time to
time, but my setup is very custom so I don't know how helpful
that would be for the community (if there is one).
I would be sad to see official support disappear, but I know
how hard it is to maintain stuff, and I think I can keep going
with the current kernel I use (which is not even 5.xx I think),
so that would not be a big damage for me. And if I have special
needs in the future (very doubtful) I guess I could hack something
on my own.
Anyway, there is at least one s3c2440 server on Earth powered
by the linux kernel. Now you know! :)
Regards,
Cédric.
On 05/11/2021 18:49, Cedric Roux wrote: > On 11/2/21 12:05 PM, Krzysztof Kozlowski wrote: >> If there are any users, they might respond and postpone the removal. > > Hi Krzysztof, > > I use a mini2440 (which is s3c2440) as an http server at home. > I don't have much time but I can do some testing from time to > time, but my setup is very custom so I don't know how helpful > that would be for the community (if there is one). We just need to know whether the kernel behaves properly on the hardware. The setup itself should not matter, but what matters more is that you do not run a new kernel at all. There is a lot of untested code there. > > I would be sad to see official support disappear, but I know > how hard it is to maintain stuff, and I think I can keep going > with the current kernel I use (which is not even 5.xx I think), > so that would not be a big damage for me. And if I have special > needs in the future (very doubtful) I guess I could hack something > on my own. > > Anyway, there is at least one s3c2440 server on Earth powered > by the linux kernel. Now you know! :) Thanks for coming back! We will see how much of feedback we gather. Best regards, Krzysztof
Am Samstag, 6. November 2021, 19:20:05 CET schrieb Krzysztof Kozlowski: > On 05/11/2021 18:49, Cedric Roux wrote: > > On 11/2/21 12:05 PM, Krzysztof Kozlowski wrote: > >> If there are any users, they might respond and postpone the removal. > > > > Hi Krzysztof, > > > > I use a mini2440 (which is s3c2440) as an http server at home. > > I don't have much time but I can do some testing from time to > > time, but my setup is very custom so I don't know how helpful > > that would be for the community (if there is one). > > We just need to know whether the kernel behaves properly on the > hardware. The setup itself should not matter, but what matters more is > that you do not run a new kernel at all. There is a lot of untested code > there. > > > > > I would be sad to see official support disappear, but I know > > how hard it is to maintain stuff, and I think I can keep going > > with the current kernel I use (which is not even 5.xx I think), > > so that would not be a big damage for me. And if I have special > > needs in the future (very doubtful) I guess I could hack something > > on my own. > > > > Anyway, there is at least one s3c2440 server on Earth powered > > by the linux kernel. Now you know! :) > > Thanks for coming back! We will see how much of feedback we gather. I do believe all (or at least most) of s3c24xx could run with a devicetree base with core peripherals enabled. So one possible alternative way could be to just deprecate (and then drop) all the board-files + their platform-data parts in mach-s3c. Heiko
On Sat, Nov 6, 2021 at 8:33 PM Heiko Stübner <heiko@sntech.de> wrote: > Am Samstag, 6. November 2021, 19:20:05 CET schrieb Krzysztof Kozlowski: > > On 05/11/2021 18:49, Cedric Roux wrote: > > > > > > Anyway, there is at least one s3c2440 server on Earth powered > > > by the linux kernel. Now you know! :) > > > > Thanks for coming back! We will see how much of feedback we gather. > > I do believe all (or at least most) of s3c24xx could run with a devicetree > base with core peripherals enabled. > > So one possible alternative way could be to just deprecate (and then drop) > all the board-files + their platform-data parts in mach-s3c. Yes, and this would be similar to what we've done for mach-imx and mach-omap2 in the past. However, I think the Cragganmore/Speyside board that Mark mentioned is not in the category of easily converted machines, so leaving only the DT-enabled machines around would not help him. If this is actually the case, one other possibility would be to remove all the board files except for that one, in the hope that the transformation (even a partial one) to DT becomes easier when there is no risk of breaking other machines. Arnd
On 06/11/2021 21:13, Arnd Bergmann wrote: > On Sat, Nov 6, 2021 at 8:33 PM Heiko Stübner <heiko@sntech.de> wrote: >> Am Samstag, 6. November 2021, 19:20:05 CET schrieb Krzysztof Kozlowski: >>> On 05/11/2021 18:49, Cedric Roux wrote: >>>> >>>> Anyway, there is at least one s3c2440 server on Earth powered >>>> by the linux kernel. Now you know! :) >>> >>> Thanks for coming back! We will see how much of feedback we gather. >> >> I do believe all (or at least most) of s3c24xx could run with a devicetree >> base with core peripherals enabled. >> >> So one possible alternative way could be to just deprecate (and then drop) >> all the board-files + their platform-data parts in mach-s3c. > > Yes, and this would be similar to what we've done for mach-imx and > mach-omap2 in the past. > > However, I think the Cragganmore/Speyside board that Mark mentioned > is not in the category of easily converted machines, so leaving only the > DT-enabled machines around would not help him. > > If this is actually the case, one other possibility would be to remove > all the board files except for that one, in the hope that the transformation > (even a partial one) to DT becomes easier when there is no risk of > breaking other machines. Dropping board files would be a nice step but only a half-way, because we could not remove the S3C support from the drivers. The platform to stay should have either: 1. real users in the production who need updates or 2. hackers who have hardware, like to play with it and will do the testing/development. In the second case (the hackers) having only the hardware but not testing or running newest kernels does not revive the platform from the almost-dead stage. Best regards, Krzysztof
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f0f9e8bec83a..bd8237c7e7f1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -473,7 +473,7 @@ config ARCH_SA1100 Support for StrongARM 11x0 based boards. config ARCH_S3C24XX - bool "Samsung S3C24XX SoCs" + bool "Samsung S3C24XX SoCs (deprecated, see help)" select ATAGS select CLKSRC_SAMSUNG_PWM select GPIO_SAMSUNG @@ -491,6 +491,11 @@ config ARCH_S3C24XX (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the Samsung SMDK2410 development board (and derivatives). + The platform is deprecated and scheduled in removal. Please reach to + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if + you still use it. + Without such feedback, the platform will be removed after 2022. + config ARCH_OMAP1 bool "TI OMAP1" depends on MMU diff --git a/arch/arm/mach-s3c/Kconfig.s3c64xx b/arch/arm/mach-s3c/Kconfig.s3c64xx index f3fcb570edf5..3b090ae72bbd 100644 --- a/arch/arm/mach-s3c/Kconfig.s3c64xx +++ b/arch/arm/mach-s3c/Kconfig.s3c64xx @@ -4,7 +4,7 @@ # Simtec Electronics, Ben Dooks <ben@simtec.co.uk> menuconfig ARCH_S3C64XX - bool "Samsung S3C64XX" + bool "Samsung S3C64XX (deprecated, see help)" depends on ARCH_MULTI_V6 select ARM_AMBA select ARM_VIC @@ -25,6 +25,11 @@ menuconfig ARCH_S3C64XX help Samsung S3C64XX series based systems + The platform is deprecated and scheduled in removal. Please reach to + the maintainers of the platform and linux-samsung-soc@vger.kernel.org if + you still use it. + Without such feedback, the platform will be removed after 2022. + if ARCH_S3C64XX # Configuration options for the S3C6410 CPU diff --git a/arch/arm/mach-s3c/cpu.c b/arch/arm/mach-s3c/cpu.c index 6e9772555f0d..3b16cf42910f 100644 --- a/arch/arm/mach-s3c/cpu.c +++ b/arch/arm/mach-s3c/cpu.c @@ -28,4 +28,5 @@ void __init s3c64xx_init_cpu(void) } pr_info("Samsung CPU ID: 0x%08lx\n", samsung_cpu_id); + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); } diff --git a/arch/arm/mach-s3c/init.c b/arch/arm/mach-s3c/init.c index 9d92f03e9bc1..5db7dc54340c 100644 --- a/arch/arm/mach-s3c/init.c +++ b/arch/arm/mach-s3c/init.c @@ -59,6 +59,8 @@ void __init s3c_init_cpu(unsigned long idcode, if (cpu->map_io) cpu->map_io(); + + pr_err("The platform is deprecated and scheduled in removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it. Without such feedback, the platform will be removed after 2022.\n"); } /* s3c24xx_init_clocks diff --git a/arch/arm/mach-s3c/s3c24xx.c b/arch/arm/mach-s3c/s3c24xx.c index ccfed48c98aa..2ea1cb21dfbc 100644 --- a/arch/arm/mach-s3c/s3c24xx.c +++ b/arch/arm/mach-s3c/s3c24xx.c @@ -678,3 +678,8 @@ struct platform_device s3c2410_device_dclk = { }, }; #endif + +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ + "Please reach to the maintainers of the platform " \ + "and linux-samsung-soc@vger.kernel.org if you still use it." \ + "Without such feedback, the platform will be removed after 2022." diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c index 4dfb648142f2..3e248f0e96a2 100644 --- a/arch/arm/mach-s3c/s3c64xx.c +++ b/arch/arm/mach-s3c/s3c64xx.c @@ -425,3 +425,8 @@ static int __init s3c64xx_init_irq_eint(void) return 0; } arch_initcall(s3c64xx_init_irq_eint); + +#pragma message "The platform is deprecated and scheduled in removal (see platform help). " \ + "Please reach to the maintainers of the platform " \ + "and linux-samsung-soc@vger.kernel.org if you still use it." \ + "Without such feedback, the platform will be removed after 2022."
The Samsung S3C24xx and S3C64xx platforms are very old designs. S3C2416 was introduced in 2008 and S3C6410 in 2009/2010. They are not widely available anymore - out-of-stock on FriendlyArm (one of manufacturers of boards) and only few specialist stores still offer them for quite a high price. The community around these platforms was not very active, so I suspect no one really uses them anymore. Maintenance takes precious time so there is little sense in keeping them alive if there are no real users. Let's mark all S3C24xx and S3C64xx platforms as deprecated and mention possible removal in one year (after 2022). The deprecation message will be as text in Kconfig, build message (not a warning though) and runtime print error. If there are any users, they might respond and postpone the removal. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> --- arch/arm/Kconfig | 7 ++++++- arch/arm/mach-s3c/Kconfig.s3c64xx | 7 ++++++- arch/arm/mach-s3c/cpu.c | 1 + arch/arm/mach-s3c/init.c | 2 ++ arch/arm/mach-s3c/s3c24xx.c | 5 +++++ arch/arm/mach-s3c/s3c64xx.c | 5 +++++ 6 files changed, 25 insertions(+), 2 deletions(-)