diff mbox series

[RFC] ARM: s3c: mark as deprecated and schedule removal after 2022

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

Commit Message

Krzysztof Kozlowski Nov. 2, 2021, 11:05 a.m. UTC
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(-)

Comments

Krzysztof Kozlowski Nov. 2, 2021, 11:09 a.m. UTC | #1
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
Arnd Bergmann Nov. 2, 2021, 1:05 p.m. UTC | #2
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
Krzysztof Kozlowski Nov. 2, 2021, 2:55 p.m. UTC | #3
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
Krzysztof Kozlowski Nov. 2, 2021, 3 p.m. UTC | #4
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
Arnd Bergmann Nov. 2, 2021, 3:36 p.m. UTC | #5
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
Mark Brown Nov. 2, 2021, 4:37 p.m. UTC | #6
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.
Heiko Stübner Nov. 2, 2021, 5:43 p.m. UTC | #7
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."
>
Krzysztof Kozlowski Nov. 3, 2021, 8:27 a.m. UTC | #8
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
Tomasz Figa Nov. 3, 2021, 8:34 a.m. UTC | #9
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
>
Mark Brown Nov. 3, 2021, 5:05 p.m. UTC | #10
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.
Cedric Roux Nov. 5, 2021, 5:49 p.m. UTC | #11
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.
Krzysztof Kozlowski Nov. 6, 2021, 6:20 p.m. UTC | #12
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
Heiko Stübner Nov. 6, 2021, 7:33 p.m. UTC | #13
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
Arnd Bergmann Nov. 6, 2021, 8:13 p.m. UTC | #14
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
Krzysztof Kozlowski Nov. 7, 2021, 9:11 a.m. UTC | #15
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 mbox series

Patch

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."