LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: "Krzysztof Adamski" <krzysztof.adamski@nokia.com>,
	"Oleksij Rempel" <o.rempel@pengutronix.de>,
	"Baruch Siach" <baruch@tkos.co.il>,
	"Russell King - ARM Linux" <linux@armlinux.org.uk>,
	"Daniel Tang" <dt.tangr@gmail.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Jamie Iles" <jamie@jamieiles.com>,
	"Barry Song" <song.bao.hua@hisilicon.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Jonas Jensen" <jonas.jensen@gmail.com>,
	"Marc Gonzalez" <marc.w.gonzalez@free.fr>,
	"Hartley Sweeten" <hsweeten@visionengravers.com>,
	"Lubomir Rintel" <lkundrak@v3.sk>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Alex Elder" <elder@linaro.org>,
	"Alexander Shiyan" <shc_work@mail.ru>,
	"Koen Vandeputte" <koen.vandeputte@ncentric.com>,
	"Hans Ulli Kroll" <ulli.kroll@googlemail.com>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	"Wei Xu" <xuwei5@hisilicon.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Yoshinori Sato" <ysato@users.sourceforge.jp>,
	"Mark Salter" <msalter@redhat.com>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>
Subject: Old platforms: bring out your dead
Date: Fri, 8 Jan 2021 23:55:06 +0100
Message-ID: <CAK8P3a2VW8T+yYUG1pn1yR-5eU4jJXe1+M_ot6DAvfr2KyXCzQ@mail.gmail.com> (raw)

After v5.10 was officially declared an LTS kernel, I had a look around
the Arm platforms that look like they have not seen any patches from
their maintainers or users that are actually running the hardware for
at least five years (2015 or earlier). I made some statistics and lists
for my lwn.net article last year [1], so I'd thought I'd share a summary
here for discussion about what we should remove. As I found three
years ago when I removed several CPU architectures, it makes sense
to do this in bulk, to simplify a scripted search for device drivers, header
files and Kconfig options that become unused in the process.

This is probably a mix of platforms that are completely unused and
those that just work, but I have no good way of knowing which one
it is. Without hearing back about these, I'd propose removing all of
these:

* asm9260 -- added in 2014, no notable changes after 2015
* axxia -- added in 2014, no notable changes after 2015
* bcm/kona -- added in 2013, no notable changes after 2014
* digicolor -- added in 2014, no notable changes after 2015
* dove -- added in 2009, obsoleted by mach-mvebu in 2015
* efm32 -- added in 2011, first Cortex-M, no notable changes after 2013
* nspire -- added in 2013, no notable changes after 2015
* picoxcell -- added in 2011, already queued for removal
* prima2 -- added in 20111, no notable changes since 2015
* spear -- added in 2010, no notable changes since 2015
* tango -- added in 2015, sporadic changes until 2017, but abandoned
* u300 -- added in 2009, no notable changes since 2013
* vt8500 -- added in 2010, no notable changes since 2014
* zx --added in 2015 for both 32, 2017 for 64 bit, no notable changes

If any of the above are not dead yet[2], please let me know,
and we'll keep them.

Then there are ARM platforms that are old but have still seen some work
in the past years. If I hear nothing, these will all stay, but if maintainers
may want to drop them anyway, I can help with that:

* clps711x -- prehistoric, converted to multiplatform+DT in 2016, no
changes since
* cns3xxx -- added in 2010, last fixed in 2019, probably no users left
* ep93xx -- added in 2006, LinusW still working on it, any users left?
* footbridge -- added in prehistory, stable since ~2013, rmk and LinusW have one
* gemini -- added in 2009, LinusW still working on it
* hisi (hip01/hip05) -- servers added in 2013, replaced with arm64 in 2016
* highbank -- added in 2011, no changes after 2015, but Andre still uses it
* iop32x -- added in 2006, no notable changes other than my cleanup, but
  I think there are still users
* ixp4xx -- prehistoric, but LinusW and I are still working on it
* lpc18xx -- added in 2015, new dts in 2018, but few other changes
* lpc32xx -- added in 2010, multiplatform 2019, hardware is EOL
* mmp -- added in 2009, DT support is active, but board files might go
* moxart -- added in 2013, last Tested-by in 2017
* mv78xx0 -- added in 2008, mostly stale but still users
  (https://github.com/1000001101000/Debian_on_Buffalo)
* nomadik -- added in 2009, LinusW keeps fixing it, probably no other users
* oxnas -- added in 2016, but already old then, few changes later
* pxa -- prehistoric, but a few boards may still have users
* rpc -- prehistoric, but I think Russell still uses his machine
* sa1100 -- prehistoric, but rmk and LinusW sporadically working in it

I also looked at non-ARM platforms while preparing for my article. Some of
these look like they are no longer actively maintained or used, but I'm not
doing anything about those unless the maintainers would like me to:

* h8300: Steven Rostedt has repeatedly asked about it to be removed
   or fixed in 2020 with no reply. This was killed before in 2013, added back
   in 2015 but has been mostly stale again since 2016
* c6x: Added in 2011, this has seen very few updates since, but
    Mark still Acks patches when they come. Like most other DSP platforms,
    the model of running Linux on a DSP appears to have been obsoleted
    by using Linux on ARM with on-chip DSP cores running bare-metal code.
* sparc/sun4m: A patch for removing 32-bit Sun sparc support (not LEON)
   is currently under review
* powerpc/cell: I'm the maintainer and I promised to send a patch to remove it.
   it's in my backlog but I will get to it. This is separate from PS3,
which is actively
   maintained and used; spufs will move to ps3
* powerpc/chrp (32-bit rs6000, pegasos2): last updated in 2009
* powerpc/amigaone: last updated in 2009
* powerpc/maple: last updated in 2011
* m68k/{apollo,hp300,sun3,q40} these are all presumably dead and have not
   seen updates in many years (atari/amiga/mac and coldfire are very much
   alive)
* mips/jazz: last updated in 2007
* mips/cobalt: last updated in 2010

There might be some value in dropping old CPU support on architectures
and platforms that are almost exclusively used with more modern CPUs.
If there are only few users, those can still keep using v5.10 or v5.4 stable
kernels for a few more years. Again, I'm not doing anything about them,
except mention them since I did the research.
These are the oldest one by architecture, and they may have reached
their best-served-by-date:

* 80486SX/DX: 80386 CPUs were dropped in 2012, and there are
  indications that 486 have no users either on recent kernels.
  There is still the Vortex86 family of SoCs, and the oldest of those were
  486SX-class, but all the modern ones are 586-class.
* Alpha 2106x: First generation that lacks some of the later features.
  Since all Alphas are ancient by now, it's hard to tell whether these have
  any fewer users.
* IA64 Merced: first generation Itanium (2001) was quickly replaced by
  Itanium II in 2002.
* MIPS R3000/TX39xx: 32-bit MIPS-II generation, mostly superseded by
  64-bit MIPS-III (R4000 and higher) starting in 1991. arch/mips still
  supports these in DECstation and Toshiba Txx9, but it appears that most
  of those machines are of the 64-bit kind. Later MIPS32 such as 4Kc and
  later are rather different and widely used.
* PowerPC 601 (from 1992) just got removed, later 60x, 4xx, 8xx etc
  are apparently all still used.
* SuperH SH-2: We discussed removing SH-2 (not J2 or SH-4)
  support in the past, I don't think there were any objections, but
  nobody submitted a patch.
* 68000/68328 (Dragonball): these are less capable than the
  68020+ or the Coldfire MCF5xxx line and similar to the 68360
  that was removed in 2016.

        Arnd

[1] https://lwn.net/Articles/838807/
[2] https://www.youtube.com/watch?v=Jdf5EXo6I68

             reply index

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08 22:55 Arnd Bergmann [this message]
2021-01-08 23:32 ` Steven Rostedt
2021-01-09 22:04   ` Arnd Bergmann
2021-01-08 23:44 ` Thomas Bogendoerfer
2021-01-09  0:16 ` Linus Walleij
2021-01-09 17:32   ` Florian Fainelli
2021-01-09 21:59   ` Arnd Bergmann
2021-01-09  5:56 ` Willy Tarreau
2021-01-09 21:52   ` Arnd Bergmann
2021-01-10  6:21     ` Willy Tarreau
2021-01-10 10:44       ` Russell King - ARM Linux admin
2021-01-11  9:50     ` David Laight
2021-01-13 10:27       ` Andy Shevchenko
2021-01-13 12:02         ` Linus Walleij
2021-01-13 12:17           ` Andy Shevchenko
2021-01-13 12:21             ` Andy Shevchenko
2021-01-15  0:03               ` Bernd Petrovitsch
2021-01-15  0:24                 ` William Breathitt Gray
2021-01-15  8:59                   ` David Laight
2021-01-13 12:30           ` William Breathitt Gray
2021-01-13 12:56             ` William Breathitt Gray
2021-01-13 13:44           ` Arnd Bergmann
2021-02-04 21:01         ` Pavel Machek
2021-02-05  9:13           ` David Laight
2021-02-05  9:29             ` Pavel Machek
2021-01-09 17:34 ` Florian Fainelli
2021-01-09 21:18   ` Arnd Bergmann
2021-01-09 17:43 ` Russell King - ARM Linux admin
2021-01-09 21:34   ` Arnd Bergmann
2021-01-11 20:09     ` Russell King - ARM Linux admin
2021-01-09 20:19 ` Baruch Siach
2021-01-09 21:19   ` Arnd Bergmann
     [not found] ` <67171E13-6786-4B44-A8C2-3302963B055F@gmail.com>
2021-01-09 22:20   ` Arnd Bergmann
2021-01-10 18:12     ` Fabian Vogt
2021-01-10 19:20       ` Arnd Bergmann
2021-01-10 21:33       ` Linus Walleij
2021-01-11  0:33         ` Russell King - ARM Linux admin
2021-01-11 12:32           ` Arnd Bergmann
2021-01-11 12:36             ` Russell King - ARM Linux admin
2021-01-09 23:12 ` Andrew Lunn
2021-01-10  8:45   ` Arnd Bergmann
2021-01-10 16:46     ` Andrew Lunn
2021-01-10 17:27       ` Arnd Bergmann
2021-01-10 19:51         ` Andrew Lunn
2021-01-10 15:51 ` Neil Armstrong
2021-01-10 15:56   ` Arnd Bergmann
2021-01-10 17:35 ` John Paul Adrian Glaubitz
2021-01-10 21:46   ` Sam Ravnborg
2021-01-11  8:05     ` John Paul Adrian Glaubitz
2021-01-11 14:55       ` chase rayfield
2021-01-12  0:26         ` Rob Landley
2021-01-12  0:50           ` chase rayfield
2021-01-12 14:37         ` John Paul Adrian Glaubitz
2021-01-11 18:09     ` Rob Landley
2021-01-11 15:04   ` Gerhard Pircher
2021-01-12 14:44     ` John Paul Adrian Glaubitz
2021-01-12 22:46       ` Linus Walleij
2021-01-13  8:09         ` Rob Landley
2021-01-13  8:21           ` Geert Uytterhoeven
2021-01-13 13:25             ` Rob Landley
2021-01-13 12:02           ` Andy Shevchenko
2021-01-13  8:15         ` Geert Uytterhoeven
2021-01-13 10:39         ` Arnd Bergmann
2021-01-14  3:54           ` New platforms: bring out your dead, was " Finn Thain
2021-01-14  9:41         ` John Paul Adrian Glaubitz
2021-01-14  9:48           ` Geert Uytterhoeven
2021-01-14 21:21           ` Arnd Bergmann
2021-01-14 22:54             ` Undesirable code, was Re: Old platforms etc Finn Thain
2021-01-14 23:09             ` Old platforms: bring out your dead Max Filippov
2021-01-15  8:31               ` Arnd Bergmann
2021-01-13  0:12       ` Old platforms never die, was " Finn Thain
2021-01-16  6:54         ` Rob Landley
2021-01-16 23:22           ` Finn Thain
2021-01-13 11:47       ` Andy Shevchenko
2021-01-11  1:39 ` Daniel Palmer
2021-01-11  9:15   ` John Paul Adrian Glaubitz
2021-01-11  9:20     ` Geert Uytterhoeven
2021-01-11  9:26       ` John Paul Adrian Glaubitz
2021-01-11  9:36         ` Geert Uytterhoeven
2021-01-11  9:50           ` Greg Ungerer
2021-01-11  9:42     ` Daniel Palmer
2021-01-11 10:13   ` Arnd Bergmann
2021-01-11  8:19 ` Geert Uytterhoeven
2021-01-11  8:59   ` Arnd Bergmann
2021-01-11  9:16     ` Geert Uytterhoeven
2021-01-11 10:28       ` Geert Uytterhoeven
2021-01-11 10:37         ` Arnd Bergmann
2021-01-11  9:40     ` Thomas Bogendoerfer
2021-01-11 10:34       ` Arnd Bergmann
2021-01-11  8:40 ` efm32 is dead [Was: Old platforms: bring out your dead] Uwe Kleine-König
2021-01-11 11:10 ` Old platforms: bring out your dead Viresh Kumar
2021-01-11 19:59   ` Arnd Bergmann
2021-01-11 21:15     ` Mattias Wallin
2021-01-11 21:47       ` Arnd Bergmann
2021-01-11 13:13 ` Marc Gonzalez
2021-01-11 17:29   ` Måns Rullgård
2021-01-11 21:50     ` Arnd Bergmann
2021-01-12  8:23       ` Marc Gonzalez
2021-01-11 14:22 ` Mark Salter
2021-01-11 15:00   ` Arnd Bergmann
2021-01-11 14:44 ` Alexander Shiyan
2021-01-11 14:58   ` Arnd Bergmann
2021-01-11 16:23 ` Sylvain Lemieux
2021-01-11 22:17   ` Alexandre Belloni
2021-01-11 19:58 ` Thomas Petazzoni
2021-01-11 20:10   ` Arnd Bergmann
2021-01-11 20:25 ` Song Bao Hua (Barry Song)
2021-01-12  8:41   ` Marc Gonzalez
2021-01-13 10:30 ` Andy Shevchenko
2021-01-13 11:02   ` Arnd Bergmann
2021-01-13 16:14 ` [v2] " Arnd Bergmann
2021-01-13 19:00   ` Krzysztof Hałasa
2021-01-14  8:51     ` Arnd Bergmann
2021-01-15  7:08   ` Wei Xu
2021-01-15  9:26     ` Arnd Bergmann
2021-01-15 11:09       ` Leizhen (ThunderTown)
2021-01-15 12:04         ` Arnd Bergmann
2021-01-18 10:46           ` Wei Xu
2021-01-13 22:27 ` Richard Z
2021-02-05 13:37 ` Alexander Lobakin
2021-01-12  2:05 tedheadster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK8P3a2VW8T+yYUG1pn1yR-5eU4jJXe1+M_ot6DAvfr2KyXCzQ@mail.gmail.com \
    --to=arnd@kernel.org \
    --cc=baruch@tkos.co.il \
    --cc=dt.tangr@gmail.com \
    --cc=elder@linaro.org \
    --cc=geert+renesas@glider.be \
    --cc=hsweeten@visionengravers.com \
    --cc=jamie@jamieiles.com \
    --cc=jonas.jensen@gmail.com \
    --cc=koen.vandeputte@ncentric.com \
    --cc=krzysztof.adamski@nokia.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lkundrak@v3.sk \
    --cc=marc.w.gonzalez@free.fr \
    --cc=mpe@ellerman.id.au \
    --cc=msalter@redhat.com \
    --cc=narmstrong@baylibre.com \
    --cc=o.rempel@pengutronix.de \
    --cc=rostedt@goodmis.org \
    --cc=shawnguo@kernel.org \
    --cc=shc_work@mail.ru \
    --cc=song.bao.hua@hisilicon.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=ulli.kroll@googlemail.com \
    --cc=viresh.kumar@linaro.org \
    --cc=vz@mleia.com \
    --cc=xuwei5@hisilicon.com \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git
	git clone --mirror https://lore.kernel.org/lkml/10 lkml/git/10.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git