All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] arch: remove obsolete architecture ports
@ 2018-04-02  7:17 Arnd Bergmann
  2018-04-02 18:57 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Arnd Bergmann @ 2018-04-02  7:17 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel Mailing List, linux-arch, James Hogan,
	David Howells, linux-am33-list, Hirokazu Takata, Lennox Wu,
	Aaron Wu, Bryan Wu, Chris Metcalf, Jesper Nilsson

Hi Linus,

The series is rather long and conflicts in trivial ways with lots
of subsystem trees. You probably want to pull it either really
early in the merge window or really late.

     Arnd

----
The following changes since commit 661e50bc853209e41a5c14a290ca4decc43cbfd1:

  Linux 4.16-rc4 (2018-03-04 14:54:11 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
tags/arch-removal

for you to fetch changes up to dd3b8c329aa270027fba61a02a12600972dc3983:

  MAINTAINERS: UNICORE32: Change email account (2018-03-26 15:57:29 +0200)

----------------------------------------------------------------
arch: remove obsolete architecture ports

This removes the entire architecture code for blackfin, cris, frv, m32r,
metag, mn10300, score, and tile, including the associated device drivers.

I have been working with the (former) maintainers for each one to ensure
that my interpretation was right and the code is definitely unused in
mainline kernels. Many had fond memories of working on the respective
ports to start with and getting them included in upstream, but also saw
no point in keeping the port alive without any users.

In the end, it seems that while the eight architectures are extremely
different, they all suffered the same fate: There was one company
in charge of an SoC line, a CPU microarchitecture and a software
ecosystem, which was more costly than licensing newer off-the-shelf
CPU cores from a third party (typically ARM, MIPS, or RISC-V). It seems
that all the SoC product lines are still around, but have not used the
custom CPU architectures for several years at this point. In contrast,
CPU instruction sets that remain popular and have actively maintained
kernel ports tend to all be used across multiple licensees.

The removal came out of a discussion that is now documented at
https://lwn.net/Articles/748074/. Unlike the original plans, I'm not
marking any ports as deprecated but remove them all at once after I made
sure that they are all unused. Some architectures (notably tile, mn10300,
and blackfin) are still being shipped in products with old kernels,
but those products will never be updated to newer kernel releases.

After this series, we still have a few architectures without mainline
gcc support:

- unicore32 and hexagon both have very outdated gcc releases, but the
  maintainers promised to work on providing something newer. At least
  in case of hexagon, this will only be llvm, not gcc.

- openrisc, risc-v and nds32 are still in the process of finishing their
  support or getting it added to mainline gcc in the first place.
  They all have patched gcc-7.3 ports that work to some degree, but
  complete upstream support won't happen before gcc-8.1. Csky posted
  their first kernel patch set last week, their situation will be similar.

----------------------------------------------------------------

(dirstat only for brevity)

   0.0% Documentation/admin-guide/
   0.0% Documentation/blackfin/
   0.0% Documentation/cris/
   0.0% Documentation/dev-tools/
   0.0% Documentation/devicetree/bindings/cris/
   0.0% Documentation/devicetree/bindings/gpio/
   0.0% Documentation/devicetree/bindings/interrupt-controller/
   0.0% Documentation/devicetree/bindings/metag/
   0.0% Documentation/devicetree/bindings/serial/
   0.0% Documentation/driver-api/usb/
   0.0% Documentation/features/core/BPF-JIT/
   0.0% Documentation/features/core/generic-idle-thread/
   0.0% Documentation/features/core/jump-labels/
   0.0% Documentation/features/core/tracehook/
   0.0% Documentation/features/debug/KASAN/
   0.0% Documentation/features/debug/gcov-profile-all/
   0.0% Documentation/features/debug/kgdb/
   0.0% Documentation/features/debug/kprobes-on-ftrace/
   0.0% Documentation/features/debug/kprobes/
   0.0% Documentation/features/debug/kretprobes/
   0.0% Documentation/features/debug/optprobes/
   0.0% Documentation/features/debug/stackprotector/
   0.0% Documentation/features/debug/uprobes/
   0.0% Documentation/features/debug/user-ret-profiler/
   0.0% Documentation/features/io/dma-api-debug/
   0.0% Documentation/features/io/dma-contiguous/
   0.0% Documentation/features/io/sg-chain/
   0.0% Documentation/features/lib/strncasecmp/
   0.0% Documentation/features/locking/cmpxchg-local/
   0.0% Documentation/features/locking/lockdep/
   0.0% Documentation/features/locking/queued-rwlocks/
   0.0% Documentation/features/locking/queued-spinlocks/
   0.0% Documentation/features/locking/rwsem-optimized/
   0.0% Documentation/features/perf/kprobes-event/
   0.0% Documentation/features/perf/perf-regs/
   0.0% Documentation/features/perf/perf-stackdump/
   0.0% Documentation/features/sched/membarrier-sync-core/
   0.0% Documentation/features/sched/numa-balancing/
   0.0% Documentation/features/seccomp/seccomp-filter/
   0.0% Documentation/features/time/arch-tick-broadcast/
   0.0% Documentation/features/time/clockevents/
   0.0% Documentation/features/time/context-tracking/
   0.0% Documentation/features/time/irq-time-acct/
   0.0% Documentation/features/time/modern-timekeeping/
   0.0% Documentation/features/time/virt-cpuacct/
   0.0% Documentation/features/vm/ELF-ASLR/
   0.0% Documentation/features/vm/PG_uncached/
   0.0% Documentation/features/vm/THP/
   0.0% Documentation/features/vm/TLB/
   0.0% Documentation/features/vm/huge-vmap/
   0.0% Documentation/features/vm/ioremap_prot/
   0.0% Documentation/features/vm/numa-memblock/
   0.0% Documentation/features/vm/pte_special/
   0.4% Documentation/frv/
   0.0% Documentation/ioctl/
   0.0% Documentation/metag/
   0.0% Documentation/mn10300/
   0.0% Documentation/watchdog/
   0.0% Documentation/
   0.0% arch/blackfin/boot/
   0.5% arch/blackfin/configs/
   2.3% arch/blackfin/include/asm/
   0.0% arch/blackfin/include/mach-common/
   0.1% arch/blackfin/include/uapi/asm/
   0.0% arch/blackfin/kernel/cplb-mpu/
   0.0% arch/blackfin/kernel/cplb-nompu/
   2.2% arch/blackfin/kernel/
   0.2% arch/blackfin/lib/
   0.2% arch/blackfin/mach-bf518/boards/
   1.5% arch/blackfin/mach-bf518/include/mach/
   0.0% arch/blackfin/mach-bf518/
   0.7% arch/blackfin/mach-bf527/boards/
   2.0% arch/blackfin/mach-bf527/include/mach/
   0.0% arch/blackfin/mach-bf527/
   0.4% arch/blackfin/mach-bf533/boards/
   0.8% arch/blackfin/mach-bf533/include/mach/
   0.0% arch/blackfin/mach-bf533/
   1.0% arch/blackfin/mach-bf537/boards/
   2.1% arch/blackfin/mach-bf537/include/mach/
   0.0% arch/blackfin/mach-bf537/
   0.1% arch/blackfin/mach-bf538/boards/
   1.9% arch/blackfin/mach-bf538/include/mach/
   0.0% arch/blackfin/mach-bf538/
   0.5% arch/blackfin/mach-bf548/boards/
   5.4% arch/blackfin/mach-bf548/include/mach/
   0.1% arch/blackfin/mach-bf548/
   0.2% arch/blackfin/mach-bf561/boards/
   1.6% arch/blackfin/mach-bf561/include/mach/
   0.2% arch/blackfin/mach-bf561/
   0.3% arch/blackfin/mach-bf609/boards/
   3.8% arch/blackfin/mach-bf609/include/mach/
   0.4% arch/blackfin/mach-bf609/
   0.8% arch/blackfin/mach-common/
   0.2% arch/blackfin/mm/
   0.0% arch/blackfin/oprofile/
   0.3% arch/blackfin/
   0.8% arch/cris/arch-v10/drivers/
   1.3% arch/cris/arch-v10/kernel/
   0.2% arch/cris/arch-v10/lib/
   0.1% arch/cris/arch-v10/mm/
   0.1% arch/cris/arch-v10/
   0.0% arch/cris/arch-v32/drivers/mach-a3/
   0.0% arch/cris/arch-v32/drivers/mach-fs/
   0.0% arch/cris/arch-v32/drivers/pci/
   1.2% arch/cris/arch-v32/drivers/
   1.2% arch/cris/arch-v32/kernel/
   0.2% arch/cris/arch-v32/lib/
   0.2% arch/cris/arch-v32/mach-a3/
   0.2% arch/cris/arch-v32/mach-fs/
   0.1% arch/cris/arch-v32/mm/
   0.0% arch/cris/arch-v32/
   0.1% arch/cris/boot/compressed/
   0.0% arch/cris/boot/dts/
   0.1% arch/cris/boot/rescue/
   0.0% arch/cris/boot/tools/
   0.0% arch/cris/boot/
   0.0% arch/cris/configs/
   0.3% arch/cris/include/arch-v10/arch/
   1.4% arch/cris/include/arch-v32/arch/hwregs/asm/
   2.9% arch/cris/include/arch-v32/arch/hwregs/iop/asm/
   1.8% arch/cris/include/arch-v32/arch/hwregs/iop/
   0.9% arch/cris/include/arch-v32/arch/hwregs/
   0.3% arch/cris/include/arch-v32/arch/
   0.7% arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/
   1.2% arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/
   0.6% arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/
   0.8% arch/cris/include/arch-v32/mach-a3/mach/hwregs/
   0.0% arch/cris/include/arch-v32/mach-a3/mach/
   0.4% arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/
   0.6% arch/cris/include/arch-v32/mach-fs/mach/hwregs/
   0.0% arch/cris/include/arch-v32/mach-fs/mach/
   0.3% arch/cris/include/asm/
   2.0% arch/cris/include/uapi/arch-v10/arch/
   0.0% arch/cris/include/uapi/arch-v32/arch/
   0.3% arch/cris/include/uapi/asm/
   0.2% arch/cris/kernel/
   0.1% arch/cris/mm/
   0.1% arch/cris/
   0.0% arch/frv/boot/
   1.3% arch/frv/include/asm/
   0.2% arch/frv/include/uapi/asm/
   2.3% arch/frv/kernel/
   0.2% arch/frv/lib/
   0.1% arch/frv/mb93090-mb00/
   0.3% arch/frv/mm/
   0.0% arch/frv/
   0.0% arch/m32r/boot/compressed/
   0.0% arch/m32r/boot/
   0.1% arch/m32r/configs/
   0.0% arch/m32r/include/asm/m32104ut/
   0.1% arch/m32r/include/asm/m32700ut/
   0.0% arch/m32r/include/asm/mappi2/
   0.0% arch/m32r/include/asm/mappi3/
   0.0% arch/m32r/include/asm/opsput/
   1.2% arch/m32r/include/asm/
   0.2% arch/m32r/include/uapi/asm/
   0.9% arch/m32r/kernel/
   0.2% arch/m32r/lib/
   0.2% arch/m32r/mm/
   0.0% arch/m32r/oprofile/
   0.0% arch/m32r/platforms/m32104ut/
   0.2% arch/m32r/platforms/m32700ut/
   0.2% arch/m32r/platforms/mappi/
   0.1% arch/m32r/platforms/mappi2/
   0.1% arch/m32r/platforms/mappi3/
   0.0% arch/m32r/platforms/oaks32r/
   0.1% arch/m32r/platforms/opsput/
   0.0% arch/m32r/platforms/usrv/
   0.0% arch/m32r/platforms/
   0.0% arch/m32r/
   0.0% arch/metag/boot/dts/
   0.0% arch/metag/boot/
   0.0% arch/metag/configs/
   0.0% arch/metag/include/asm/mach/
   1.9% arch/metag/include/asm/
   0.0% arch/metag/include/uapi/asm/
   0.1% arch/metag/kernel/perf/
   1.0% arch/metag/kernel/
   0.4% arch/metag/lib/
   0.4% arch/metag/mm/
   0.0% arch/metag/oprofile/
   0.4% arch/metag/tbx/
   0.0% arch/metag/
   0.0% arch/mn10300/boot/compressed/
   0.0% arch/mn10300/boot/tools/
   0.0% arch/mn10300/boot/
   0.0% arch/mn10300/configs/
   1.5% arch/mn10300/include/asm/
   0.2% arch/mn10300/include/uapi/asm/
   2.0% arch/mn10300/kernel/
   0.1% arch/mn10300/lib/
   0.9% arch/mn10300/mm/
   0.0% arch/mn10300/oprofile/
   0.0% arch/mn10300/proc-mn103e010/include/proc/
   0.0% arch/mn10300/proc-mn103e010/
   0.1% arch/mn10300/proc-mn2ws0050/include/proc/
   0.0% arch/mn10300/proc-mn2ws0050/
   0.0% arch/mn10300/unit-asb2303/include/unit/
   0.0% arch/mn10300/unit-asb2303/
   0.0% arch/mn10300/unit-asb2305/include/unit/
   0.1% arch/mn10300/unit-asb2305/
   0.1% arch/mn10300/unit-asb2364/include/unit/
   0.0% arch/mn10300/unit-asb2364/
   0.1% arch/mn10300/
   0.0% arch/score/boot/
   0.0% arch/score/configs/
   0.4% arch/score/include/asm/
   0.0% arch/score/include/uapi/asm/
   0.4% arch/score/kernel/
   0.1% arch/score/lib/
   0.1% arch/score/mm/
   0.0% arch/score/
   0.1% arch/tile/configs/
   0.4% arch/tile/gxio/
   0.5% arch/tile/include/arch/
   1.9% arch/tile/include/asm/
   0.7% arch/tile/include/gxio/
   2.0% arch/tile/include/hv/
   1.1% arch/tile/include/uapi/arch/
   0.1% arch/tile/include/uapi/asm/
   0.0% arch/tile/kernel/vdso/
   5.3% arch/tile/kernel/
   0.0% arch/tile/kvm/
   0.6% arch/tile/lib/
   0.7% arch/tile/mm/
   0.1% arch/tile/
   0.0% block/
   0.0% crypto/
   0.3% drivers/ata/
   0.1% drivers/char/
   0.0% drivers/clocksource/
   0.0% drivers/cpufreq/
   0.0% drivers/edac/
   0.0% drivers/gpio/
   0.1% drivers/i2c/busses/
   0.0% drivers/ide/
   0.0% drivers/input/joystick/
   0.0% drivers/input/keyboard/
   0.0% drivers/input/misc/
   0.2% drivers/irqchip/
   0.0% drivers/isdn/hisax/
   0.2% drivers/media/platform/blackfin/
   0.1% drivers/media/platform/
   0.0% drivers/media/rc/img-ir/
   0.0% drivers/misc/echo/
   0.1% drivers/mmc/host/
   0.1% drivers/net/can/
   0.3% drivers/net/cris/
   0.0% drivers/net/ethernet/8390/
   0.3% drivers/net/ethernet/adi/
   0.0% drivers/net/ethernet/davicom/
   0.0% drivers/net/ethernet/smsc/
   0.8% drivers/net/ethernet/tile/
   0.0% drivers/net/ethernet/
   0.0% drivers/net/wireless/cisco/
   0.0% drivers/net/
   0.0% drivers/pci/
   0.3% drivers/pcmcia/
   0.4% drivers/pinctrl/
   0.0% drivers/pwm/
   0.1% drivers/rtc/
   0.5% drivers/spi/
   0.0% drivers/staging/iio/trigger/
   0.0% drivers/staging/iio/
   0.0% drivers/staging/speakup/
   0.0% drivers/tty/hvc/
   1.7% drivers/tty/serial/
   0.1% drivers/tty/
   0.0% drivers/usb/gadget/function/
   0.0% drivers/usb/gadget/legacy/
   0.0% drivers/usb/host/
   0.1% drivers/usb/musb/
   0.0% drivers/video/console/
   0.7% drivers/video/fbdev/
   1.2% drivers/video/logo/
   0.0% drivers/watchdog/
   0.0% fs/minix/
   0.0% fs/proc/
   0.0% fs/
   0.0% include/asm-generic/
   0.0% include/clocksource/
   0.0% include/linux/irqchip/
   0.0% include/linux/platform_data/
   0.0% include/linux/raid/
   0.0% include/linux/usb/
   0.0% include/linux/
   0.0% include/media/blackfin/
   0.0% include/trace/events/
   0.0% include/uapi/asm-generic/
   0.0% include/uapi/linux/
   0.0% init/
   0.0% kernel/
   0.0% lib/raid6/test/
   0.0% lib/raid6/
   0.0% lib/
   0.0% mm/
   0.0% samples/blackfin/
   0.0% samples/kprobes/
   0.0% samples/
   0.0% scripts/mod/
   0.0% scripts/
   0.0% tools/arch/frv/include/uapi/asm/
   0.0% tools/arch/m32r/include/uapi/asm/
   0.0% tools/arch/mn10300/include/uapi/asm/
   0.0% tools/arch/score/include/uapi/asm/
   0.0% tools/arch/tile/include/asm/
   0.0% tools/arch/tile/include/uapi/asm/
   0.0% tools/include/asm-generic/
   0.0% tools/perf/
   0.0% tools/scripts/
   0.0% tools/testing/ktest/examples/
   0.0% tools/testing/ktest/
 2498 files changed, 95 insertions(+), 467668 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-04-04 13:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-02  7:17 [GIT PULL] arch: remove obsolete architecture ports Arnd Bergmann
2018-04-02 18:57 ` Linus Torvalds
2018-04-02 19:54   ` Arnd Bergmann
2018-04-03  9:18     ` Geert Uytterhoeven
2018-04-04  8:01       ` Pavel Machek
2018-04-04  8:38         ` Arnd Bergmann
2018-04-04 13:28           ` James Hogan
2018-04-03  2:57 ` Palmer Dabbelt
2018-04-03  4:08 ` Linus Torvalds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.