Thread (83 messages) flat view 83 messages, 34 authors, 3d ago

Re: [PATCH 03/13] ARM: remove riscpc

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2026-09-13 09:47:08
Also in: imx, linux-block, linux-devicetree, linux-fbdev, linux-omap, linux-serial, lkml

On Fri, Sep 11, 2026, at 15:37, Linus Walleij wrote:
On Fri, Sep 11, 2026 at 3:26 PM Bart Van Assche [off-list ref] wrote:
quoted
On 9/11/26 2:07 AM, Linus Walleij wrote:
quoted
quoted
The community has a built in tension around this:

- One camp that are enthusiast like yourself. That kind of people
   are running the show inside arch/m68k on Amigas and Ataris.

- One camp who get their paycheck from present day companies
   and constantly on top of the latest technology. As can be
   seen Qualcomm just taped out a brand new ARMv7 SoC
   named Kuno, for example.

As you can see this leads to a bit of tension.
That summary looks incomplete to me. Every time a kernel API is modified
that is used by the RiscPC code, the RiscPC code has to be modified too.
Removing the RiscPC code makes modifying kernel APIs easier. A recent
example is available here: "[PATCH v5] scsi: core: Drop
Scsi_Host.default_lock"
(https://lore.kernel.org/linux-scsi/20260831095821.3486994-1-john.g.garry@oracle.com/ (local)).
Yes that is development churn, but this is the same whether the hardware
supported is old or brand new and doesn't really answer the question
whether it is to be supported or not.

That line of reasoning will always require a supportive hypothesis such as:

- We don't want to support stuff that is old (deprecation and deletionist
  stance, I don't want to hear yesterdays news)

- We don't want to support stuff that has very few users (utilitarism,
basically,
  the biggest common good for the biggest number of people take
  precedence)

This is implicit in many statements people make about this. What entusiasts
ask is a completely different question:

- Is this fun (for me/us), makes me feel good to work on etc.

NB: personally I don't take a clear stance here, I mostly want to break apart
the argument and clarify what it is all about.
As the discussion is still ongoing, I'll skip this patch for v2 and
anything that depends on it. There is obviously no rush here, but I'd
like to get the settle on which platforms to remove for 7.4 soon in
order to plan the driver removal for 7.5.

This is about 10% of the total size of my board-remove-7.3
branch, but that is mostly because of the oabi/nwfpe support and
the scsi drivers.

       Arnd

75e7f9f13efc ARM: remove riscpc
973b9263fc92 ARM: remove StrongARM CPU support
7d996576dfdb ARM: remove OABI support
c345282c3031 ARM: remove nwfpe floating point emulation
8a752dcb48e6 ARM: remove ISA bus support
1c2ccc5c012a ARM: remove unnecessary CONFIG_USE_OF
6b22ba07131a ARM: remove deprecated params struct
fdb4d531b027 Input: mouse: remove RiscPC mouse driver
67c968a3c911 Input: serio: remove RiscPC keyboard driver
76741210657f i2c: remove unused acorn driver
dd66946baaa8 fbdev: remove unused acornfb driver
925c897547d9 net: i825xx: remove ether1 support
460e5bd08398 net: 8390: remove arm etherh support
f3b06d87c991 net: seeq: remove ether3 support
c0a14d208da6 scsi: remove unused arm/riscpc drivers
5f9f353d4555 serial: 8250: remove acorn driver

 Documentation/arch/arm/index.rst               |    3 -
 Documentation/arch/arm/nwfpe/index.rst         |   13 -
 Documentation/arch/arm/nwfpe/netwinder-fpe.rst |  162 --
 Documentation/arch/arm/nwfpe/notes.rst         |   32 -
 Documentation/arch/arm/nwfpe/nwfpe.rst         |   74 -
 Documentation/arch/arm/nwfpe/todo.rst          |   72 -
 Documentation/arch/arm/setup.rst               |  108 -
 Documentation/staging/magic-number.rst         |    2 -
 arch/arm/Kbuild                                |    3 -
 arch/arm/Kconfig                               |  133 +-
 arch/arm/Kconfig.debug                         |    4 +-
 arch/arm/Kconfig.platforms                     |    4 +-
 arch/arm/Makefile                              |    8 -
 arch/arm/boot/compressed/Makefile              |    3 -
 arch/arm/boot/compressed/head.S                |   14 -
 arch/arm/include/asm/cache.h                   |    4 +-
 arch/arm/include/asm/cmpxchg.h                 |   39 -
 arch/arm/include/asm/div64.h                   |   14 -
 arch/arm/include/asm/dma.h                     |  129 -
 arch/arm/include/asm/floppy.h                  |   81 -
 arch/arm/include/asm/glue-cache.h              |    8 -
 arch/arm/include/asm/glue-proc.h               |   18 -
 arch/arm/include/asm/io.h                      |   28 -
 arch/arm/include/asm/mach/dma.h                |   46 -
 arch/arm/include/asm/page.h                    |    8 -
 arch/arm/include/asm/setup.h                   |    3 -
 arch/arm/include/asm/syscall.h                 |   27 +-
 arch/arm/include/asm/unistd.h                  |   28 -
 arch/arm/include/uapi/asm/setup.h              |    3 -
 arch/arm/include/uapi/asm/unistd.h             |    5 -
 arch/arm/kernel/Makefile                       |    5 +-
 arch/arm/kernel/armksyms.c                     |    2 -
 arch/arm/kernel/atags.h                        |    2 -
 arch/arm/kernel/atags_compat.c                 |  214 --
 arch/arm/kernel/atags_parse.c                  |    8 -
 arch/arm/kernel/dma.c                          |  283 --
 arch/arm/kernel/entry-armv.S                   |    8 +-
 arch/arm/kernel/entry-common.S                 |  144 -
 arch/arm/kernel/isa.c                          |   50 -
 arch/arm/kernel/setup.c                        |   13 -
 arch/arm/kernel/sys_oabi-compat.c              |  514 ----
 arch/arm/lib/Makefile                          |    6 +-
 arch/arm/lib/io-readsw-armv3.S                 |  103 -
 arch/arm/lib/io-writesw-armv3.S                |  123 -
 arch/arm/lib/lib1funcs.S                       |    4 -
 arch/arm/lib/ucmpdi2.S                         |    5 -
 arch/arm/mach-davinci/Kconfig                  |    2 +-
 arch/arm/mach-mmp/Kconfig                      |    4 +-
 arch/arm/mach-omap2/Kconfig                    |    3 +-
 arch/arm/mm/Kconfig                            |   46 +-
 arch/arm/mm/Makefile                           |    4 -
 arch/arm/mm/cache-v4wb.S                       |  259 --
 arch/arm/mm/cache.c                            |   28 -
 arch/arm/mm/copypage-v4mc.c                    |  113 -
 arch/arm/mm/proc-sa110.S                       |  229 --
 arch/arm/mm/proc-sa1100.S                      |  277 --
 arch/arm/mm/proc.c                             |   40 -
 arch/arm/net/bpf_jit_32.c                      |    2 +-
 arch/arm/nwfpe/ARM-gcc.h                       |  121 -
 arch/arm/nwfpe/ChangeLog                       |   91 -
 arch/arm/nwfpe/Makefile                        |   19 -
 arch/arm/nwfpe/double_cpdo.c                   |  155 --
 arch/arm/nwfpe/entry.S                         |  190 --
 arch/arm/nwfpe/extended_cpdo.c                 |  142 -
 arch/arm/nwfpe/fpa11.c                         |  116 -
 arch/arm/nwfpe/fpa11.h                         |  109 -
 arch/arm/nwfpe/fpa11.inl                       |   51 -
 arch/arm/nwfpe/fpa11_cpdo.c                    |  125 -
 arch/arm/nwfpe/fpa11_cpdt.c                    |  395 ---
 arch/arm/nwfpe/fpa11_cprt.c                    |  361 ---
 arch/arm/nwfpe/fpmodule.c                      |  178 --
 arch/arm/nwfpe/fpmodule.h                      |   35 -
 arch/arm/nwfpe/fpmodule.inl                    |   74 -
 arch/arm/nwfpe/fpopcode.c                      |   51 -
 arch/arm/nwfpe/fpopcode.h                      |  469 ----
 arch/arm/nwfpe/fpsr.h                          |   96 -
 arch/arm/nwfpe/milieu.h                        |   48 -
 arch/arm/nwfpe/single_cpdo.c                   |  112 -
 arch/arm/nwfpe/softfloat-macros                |  754 ------
 arch/arm/nwfpe/softfloat-specialize            |  367 ---
 arch/arm/nwfpe/softfloat.c                     | 3435 ------------------------
 arch/arm/nwfpe/softfloat.h                     |  281 --
 arch/arm/tools/Makefile                        |    2 -
 arch/arm/tools/syscall.tbl                     |   69 +-
 drivers/hwtracing/coresight/Kconfig            |    2 +-
 drivers/i2c/busses/Kconfig                     |   10 -
 drivers/i2c/busses/Makefile                    |    1 -
 drivers/i2c/busses/i2c-acorn.c                 |   96 -
 drivers/input/mouse/Kconfig                    |   10 -
 drivers/input/mouse/Makefile                   |    1 -
 drivers/input/mouse/rpcmouse.c                 |  113 -
 drivers/input/serio/Kconfig                    |   11 -
 drivers/input/serio/Makefile                   |    1 -
 drivers/input/serio/rpckbd.c                   |  152 --
 drivers/net/ethernet/8390/Kconfig              |    8 -
 drivers/net/ethernet/8390/Makefile             |    1 -
 drivers/net/ethernet/8390/etherh.c             |  858 ------
 drivers/net/ethernet/i825xx/Kconfig            |    7 -
 drivers/net/ethernet/i825xx/Makefile           |    1 -
 drivers/net/ethernet/i825xx/ether1.c           | 1086 --------
 drivers/net/ethernet/i825xx/ether1.h           |  277 --
 drivers/net/ethernet/seeq/Kconfig              |    7 -
 drivers/net/ethernet/seeq/Makefile             |    1 -
 drivers/net/ethernet/seeq/ether3.c             |  898 -------
 drivers/net/ethernet/seeq/ether3.h             |  174 --
 drivers/scsi/Kconfig                           |    2 -
 drivers/scsi/Makefile                          |    2 -
 drivers/scsi/arm/Kconfig                       |   74 -
 drivers/scsi/arm/Makefile                      |   14 -
 drivers/scsi/arm/acornscsi-io.S                |  135 -
 drivers/scsi/arm/acornscsi.c                   | 2920 --------------------
 drivers/scsi/arm/acornscsi.h                   |  350 ---
 drivers/scsi/arm/arm_scsi.h                    |  136 -
 drivers/scsi/arm/arxescsi.c                    |  363 ---
 drivers/scsi/arm/cumana_1.c                    |  341 ---
 drivers/scsi/arm/cumana_2.c                    |  524 ----
 drivers/scsi/arm/eesox.c                       |  646 -----
 drivers/scsi/arm/fas216.c                      | 3039 ---------------------
 drivers/scsi/arm/fas216.h                      |  407 ---
 drivers/scsi/arm/msgqueue.c                    |  168 --
 drivers/scsi/arm/msgqueue.h                    |   79 -
 drivers/scsi/arm/oak.c                         |  213 --
 drivers/scsi/arm/powertec.c                    |  452 ----
 drivers/scsi/arm/queue.c                       |  319 ---
 drivers/scsi/arm/queue.h                       |  104 -
 drivers/tty/serial/8250/8250_acorn.c           |  138 -
 drivers/tty/serial/8250/Kconfig                |    8 -
 drivers/tty/serial/8250/Makefile               |    1 -
 drivers/video/fbdev/Kconfig                    |    9 -
 drivers/video/fbdev/Makefile                   |    1 -
 drivers/video/fbdev/acornfb.c                  | 1102 --------
 drivers/video/fbdev/acornfb.h                  |  166 --
 fs/eventpoll.c                                 |   18 +-
 include/linux/eventpoll.h                      |   23 -
 lib/fonts/Kconfig                              |    1 -
 scripts/package/mkdebian                       |    7 +-
 136 files changed, 80 insertions(+), 26810 deletions(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help