linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] sh: remove sh5 support
@ 2020-04-24 22:19 Arnd Bergmann
  2020-04-24 22:19 ` [PATCH 1/1] " Arnd Bergmann
  2020-05-07 14:35 ` [GIT PULL] " Christoph Hellwig
  0 siblings, 2 replies; 35+ messages in thread
From: Arnd Bergmann @ 2020-04-24 22:19 UTC (permalink / raw)
  To: linux-sh
  Cc: ysato, dalias, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Arnd Bergmann

The following changes since commit
ae83d0b416db002fe95601e7f97f64b59514d936:

  Linux 5.7-rc2 (2020-04-19 14:35:30 -0700)

are available in the Git repository at:

  git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground.git
tags/sh5-remove

for you to fetch changes up to 29e36fbee3be4c13ff6881a275c86d5f68acfa23:

  sh: remove sh5 support (2020-04-24 22:20:55 +0200)

----------------------------------------------------------------
sh: remove sh5 support

At long last, this is the removal of the 64-bit sh5 port
that never went into production.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

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

v2: I should have fixed all the missing changes that Geert pointed out,
    this time sending it as a pull request as the removal patch is
    too big for the mailing lists, and a 'git format-patch -D' patch
    is unreliable

Arnd Bergmann (1):
  sh: remove sh5 support

 arch/sh/Kconfig                           |   62 +-
 arch/sh/Kconfig.cpu                       |    9 -
 arch/sh/Kconfig.debug                     |   13 +-
 arch/sh/Makefile                          |   29 +-
 arch/sh/boot/compressed/Makefile          |   12 +-
 arch/sh/boot/compressed/misc.c            |    8 -
 arch/sh/drivers/pci/Makefile              |    1 -
 arch/sh/drivers/pci/ops-sh5.c             |   65 -
 arch/sh/drivers/pci/pci-sh5.c             |  217 ---
 arch/sh/drivers/pci/pci-sh5.h             |  108 --
 arch/sh/include/asm/barrier.h             |    4 +-
 arch/sh/include/asm/bitops.h              |   26 -
 arch/sh/include/asm/bl_bit.h              |   11 +-
 arch/sh/include/asm/bl_bit_64.h           |   37 -
 arch/sh/include/asm/bugs.h                |    4 -
 arch/sh/include/asm/cache_insns.h         |   12 +-
 arch/sh/include/asm/cache_insns_64.h      |   20 -
 arch/sh/include/asm/checksum.h            |    6 +-
 arch/sh/include/asm/elf.h                 |   23 -
 arch/sh/include/asm/extable.h             |    4 -
 arch/sh/include/asm/fixmap.h              |    4 -
 arch/sh/include/asm/io.h                  |    4 -
 arch/sh/include/asm/irq.h                 |    3 -
 arch/sh/include/asm/mmu_context.h         |   12 -
 arch/sh/include/asm/mmu_context_64.h      |   75 -
 arch/sh/include/asm/module.h              |    4 -
 arch/sh/include/asm/page.h                |   21 +-
 arch/sh/include/asm/pgtable.h             |   17 -
 arch/sh/include/asm/pgtable_64.h          |  307 ----
 arch/sh/include/asm/posix_types.h         |    6 +-
 arch/sh/include/asm/processor.h           |   14 +-
 arch/sh/include/asm/processor_64.h        |  212 ---
 arch/sh/include/asm/ptrace_64.h           |   14 -
 arch/sh/include/asm/string.h              |    6 +-
 arch/sh/include/asm/string_64.h           |   21 -
 arch/sh/include/asm/switch_to.h           |   11 +-
 arch/sh/include/asm/switch_to_64.h        |   32 -
 arch/sh/include/asm/syscall.h             |    6 +-
 arch/sh/include/asm/syscall_64.h          |   75 -
 arch/sh/include/asm/syscalls.h            |    9 +-
 arch/sh/include/asm/syscalls_64.h         |   18 -
 arch/sh/include/asm/thread_info.h         |    4 +-
 arch/sh/include/asm/tlb.h                 |    6 +-
 arch/sh/include/asm/tlb_64.h              |   68 -
 arch/sh/include/asm/traps.h               |    4 -
 arch/sh/include/asm/traps_64.h            |   35 -
 arch/sh/include/asm/types.h               |    5 -
 arch/sh/include/asm/uaccess.h             |    4 -
 arch/sh/include/asm/uaccess_64.h          |   85 -
 arch/sh/include/asm/unistd.h              |    6 +-
 arch/sh/include/asm/user.h                |    7 -
 arch/sh/include/asm/vmlinux.lds.h         |    8 -
 arch/sh/include/cpu-sh5/cpu/addrspace.h   |   12 -
 arch/sh/include/cpu-sh5/cpu/cache.h       |   94 -
 arch/sh/include/cpu-sh5/cpu/irq.h         |  113 --
 arch/sh/include/cpu-sh5/cpu/mmu_context.h |   22 -
 arch/sh/include/cpu-sh5/cpu/registers.h   |  103 --
 arch/sh/include/cpu-sh5/cpu/rtc.h         |    9 -
 arch/sh/include/uapi/asm/posix_types.h    |    8 +-
 arch/sh/include/uapi/asm/posix_types_64.h |   29 -
 arch/sh/include/uapi/asm/ptrace.h         |    5 -
 arch/sh/include/uapi/asm/ptrace_64.h      |   15 -
 arch/sh/include/uapi/asm/sigcontext.h     |   13 -
 arch/sh/include/uapi/asm/stat.h           |   61 -
 arch/sh/include/uapi/asm/swab.h           |   10 -
 arch/sh/include/uapi/asm/unistd.h         |    8 +-
 arch/sh/include/uapi/asm/unistd_64.h      |  423 -----
 arch/sh/kernel/Makefile                   |   16 +-
 arch/sh/kernel/cpu/Makefile               |    1 -
 arch/sh/kernel/cpu/init.c                 |    2 +-
 arch/sh/kernel/cpu/irq/Makefile           |    3 +-
 arch/sh/kernel/cpu/irq/intc-sh5.c         |  194 --
 arch/sh/kernel/cpu/proc.c                 |    1 -
 arch/sh/kernel/cpu/sh5/Makefile           |   16 -
 arch/sh/kernel/cpu/sh5/clock-sh5.c        |   76 -
 arch/sh/kernel/cpu/sh5/entry.S            | 2000 ---------------------
 arch/sh/kernel/cpu/sh5/fpu.c              |  106 --
 arch/sh/kernel/cpu/sh5/probe.c            |   72 -
 arch/sh/kernel/cpu/sh5/setup-sh5.c        |  121 --
 arch/sh/kernel/cpu/sh5/switchto.S         |  195 --
 arch/sh/kernel/cpu/sh5/unwind.c           |  342 ----
 arch/sh/kernel/head_64.S                  |  346 ----
 arch/sh/kernel/irq_64.c                   |   48 -
 arch/sh/kernel/module.c                   |    9 -
 arch/sh/kernel/process.c                  |    2 -
 arch/sh/kernel/process_64.c               |  461 -----
 arch/sh/kernel/ptrace_64.c                |  576 ------
 arch/sh/kernel/reboot.c                   |    6 -
 arch/sh/kernel/sh_ksyms_64.c              |   51 -
 arch/sh/kernel/signal_64.c                |  567 ------
 arch/sh/kernel/syscalls_64.S              |  419 -----
 arch/sh/kernel/traps_64.c                 |  814 ---------
 arch/sh/kernel/vmlinux.lds.S              |   18 +-
 arch/sh/lib64/Makefile                    |   17 -
 arch/sh/lib64/copy_page.S                 |   89 -
 arch/sh/lib64/copy_user_memcpy.S          |  218 ---
 arch/sh/lib64/memcpy.S                    |  202 ---
 arch/sh/lib64/memset.S                    |   92 -
 arch/sh/lib64/panic.c                     |   15 -
 arch/sh/lib64/sdivsi3.S                   |  136 --
 arch/sh/lib64/strcpy.S                    |   98 -
 arch/sh/lib64/strlen.S                    |   34 -
 arch/sh/lib64/udelay.c                    |   49 -
 arch/sh/lib64/udivdi3.S                   |  121 --
 arch/sh/lib64/udivsi3.S                   |   60 -
 arch/sh/mm/Kconfig                        |   16 +-
 arch/sh/mm/Makefile                       |   31 +-
 arch/sh/mm/cache-sh5.c                    |  621 -------
 arch/sh/mm/cache.c                        |    6 -
 arch/sh/mm/extable_64.c                   |   84 -
 arch/sh/mm/tlb-sh5.c                      |  224 ---
 arch/sh/mm/tlbex_64.c                     |  166 --
 arch/sh/mm/tlbflush_64.c                  |  172 --
 drivers/rtc/Kconfig                       |    2 +-
 fs/Kconfig.binfmt                         |    2 +-
 scripts/headers_install.sh                |    3 -
 tools/arch/sh/include/asm/barrier.h       |    2 +-
 117 files changed, 67 insertions(+), 11554 deletions(-)
 delete mode 100644 arch/sh/drivers/pci/ops-sh5.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh5.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh5.h
 delete mode 100644 arch/sh/include/asm/bl_bit_64.h
 delete mode 100644 arch/sh/include/asm/cache_insns_64.h
 delete mode 100644 arch/sh/include/asm/mmu_context_64.h
 delete mode 100644 arch/sh/include/asm/pgtable_64.h
 delete mode 100644 arch/sh/include/asm/processor_64.h
 delete mode 100644 arch/sh/include/asm/ptrace_64.h
 delete mode 100644 arch/sh/include/asm/string_64.h
 delete mode 100644 arch/sh/include/asm/switch_to_64.h
 delete mode 100644 arch/sh/include/asm/syscall_64.h
 delete mode 100644 arch/sh/include/asm/syscalls_64.h
 delete mode 100644 arch/sh/include/asm/tlb_64.h
 delete mode 100644 arch/sh/include/asm/traps_64.h
 delete mode 100644 arch/sh/include/asm/uaccess_64.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/addrspace.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/irq.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/mmu_context.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/registers.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/rtc.h
 delete mode 100644 arch/sh/include/uapi/asm/posix_types_64.h
 delete mode 100644 arch/sh/include/uapi/asm/ptrace_64.h
 delete mode 100644 arch/sh/include/uapi/asm/unistd_64.h
 delete mode 100644 arch/sh/kernel/cpu/irq/intc-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh5/clock-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/entry.S
 delete mode 100644 arch/sh/kernel/cpu/sh5/fpu.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/setup-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/switchto.S
 delete mode 100644 arch/sh/kernel/cpu/sh5/unwind.c
 delete mode 100644 arch/sh/kernel/head_64.S
 delete mode 100644 arch/sh/kernel/irq_64.c
 delete mode 100644 arch/sh/kernel/process_64.c
 delete mode 100644 arch/sh/kernel/ptrace_64.c
 delete mode 100644 arch/sh/kernel/sh_ksyms_64.c
 delete mode 100644 arch/sh/kernel/signal_64.c
 delete mode 100644 arch/sh/kernel/syscalls_64.S
 delete mode 100644 arch/sh/kernel/traps_64.c
 delete mode 100644 arch/sh/lib64/Makefile
 delete mode 100644 arch/sh/lib64/copy_page.S
 delete mode 100644 arch/sh/lib64/copy_user_memcpy.S
 delete mode 100644 arch/sh/lib64/memcpy.S
 delete mode 100644 arch/sh/lib64/memset.S
 delete mode 100644 arch/sh/lib64/panic.c
 delete mode 100644 arch/sh/lib64/sdivsi3.S
 delete mode 100644 arch/sh/lib64/strcpy.S
 delete mode 100644 arch/sh/lib64/strlen.S
 delete mode 100644 arch/sh/lib64/udelay.c
 delete mode 100644 arch/sh/lib64/udivdi3.S
 delete mode 100644 arch/sh/lib64/udivsi3.S
 delete mode 100644 arch/sh/mm/cache-sh5.c
 delete mode 100644 arch/sh/mm/extable_64.c
 delete mode 100644 arch/sh/mm/tlb-sh5.c
 delete mode 100644 arch/sh/mm/tlbex_64.c
 delete mode 100644 arch/sh/mm/tlbflush_64.c

-- 
2.26.0


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

* [PATCH 1/1] sh: remove sh5 support
  2020-04-24 22:19 [GIT PULL] sh: remove sh5 support Arnd Bergmann
@ 2020-04-24 22:19 ` Arnd Bergmann
  2020-05-07 14:35 ` [GIT PULL] " Christoph Hellwig
  1 sibling, 0 replies; 35+ messages in thread
From: Arnd Bergmann @ 2020-04-24 22:19 UTC (permalink / raw)
  To: linux-sh
  Cc: ysato, dalias, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Arnd Bergmann, Geert Uytterhoeven

sh5 never became a product and has probably never really worked.

Remove it by recursively deleting all associated Kconfig options
and all corresponding files.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/sh/Kconfig                           |   62 +-
 arch/sh/Kconfig.cpu                       |    9 -
 arch/sh/Kconfig.debug                     |   13 +-
 arch/sh/Makefile                          |   29 +-
 arch/sh/boot/compressed/Makefile          |   12 +-
 arch/sh/boot/compressed/misc.c            |    8 -
 arch/sh/drivers/pci/Makefile              |    1 -
 arch/sh/drivers/pci/ops-sh5.c             |   65 -
 arch/sh/drivers/pci/pci-sh5.c             |  217 ---
 arch/sh/drivers/pci/pci-sh5.h             |  108 --
 arch/sh/include/asm/barrier.h             |    4 +-
 arch/sh/include/asm/bitops.h              |   26 -
 arch/sh/include/asm/bl_bit.h              |   11 +-
 arch/sh/include/asm/bl_bit_64.h           |   37 -
 arch/sh/include/asm/bugs.h                |    4 -
 arch/sh/include/asm/cache_insns.h         |   12 +-
 arch/sh/include/asm/cache_insns_64.h      |   20 -
 arch/sh/include/asm/checksum.h            |    6 +-
 arch/sh/include/asm/elf.h                 |   23 -
 arch/sh/include/asm/extable.h             |    4 -
 arch/sh/include/asm/fixmap.h              |    4 -
 arch/sh/include/asm/io.h                  |    4 -
 arch/sh/include/asm/irq.h                 |    3 -
 arch/sh/include/asm/mmu_context.h         |   12 -
 arch/sh/include/asm/mmu_context_64.h      |   75 -
 arch/sh/include/asm/module.h              |    4 -
 arch/sh/include/asm/page.h                |   21 +-
 arch/sh/include/asm/pgtable.h             |   17 -
 arch/sh/include/asm/pgtable_64.h          |  307 ----
 arch/sh/include/asm/posix_types.h         |    6 +-
 arch/sh/include/asm/processor.h           |   14 +-
 arch/sh/include/asm/processor_64.h        |  212 ---
 arch/sh/include/asm/ptrace_64.h           |   14 -
 arch/sh/include/asm/string.h              |    6 +-
 arch/sh/include/asm/string_64.h           |   21 -
 arch/sh/include/asm/switch_to.h           |   11 +-
 arch/sh/include/asm/switch_to_64.h        |   32 -
 arch/sh/include/asm/syscall.h             |    6 +-
 arch/sh/include/asm/syscall_64.h          |   75 -
 arch/sh/include/asm/syscalls.h            |    9 +-
 arch/sh/include/asm/syscalls_64.h         |   18 -
 arch/sh/include/asm/thread_info.h         |    4 +-
 arch/sh/include/asm/tlb.h                 |    6 +-
 arch/sh/include/asm/tlb_64.h              |   68 -
 arch/sh/include/asm/traps.h               |    4 -
 arch/sh/include/asm/traps_64.h            |   35 -
 arch/sh/include/asm/types.h               |    5 -
 arch/sh/include/asm/uaccess.h             |    4 -
 arch/sh/include/asm/uaccess_64.h          |   85 -
 arch/sh/include/asm/unistd.h              |    6 +-
 arch/sh/include/asm/user.h                |    7 -
 arch/sh/include/asm/vmlinux.lds.h         |    8 -
 arch/sh/include/cpu-sh5/cpu/addrspace.h   |   12 -
 arch/sh/include/cpu-sh5/cpu/cache.h       |   94 -
 arch/sh/include/cpu-sh5/cpu/irq.h         |  113 --
 arch/sh/include/cpu-sh5/cpu/mmu_context.h |   22 -
 arch/sh/include/cpu-sh5/cpu/registers.h   |  103 --
 arch/sh/include/cpu-sh5/cpu/rtc.h         |    9 -
 arch/sh/include/uapi/asm/posix_types.h    |    8 +-
 arch/sh/include/uapi/asm/posix_types_64.h |   29 -
 arch/sh/include/uapi/asm/ptrace.h         |    5 -
 arch/sh/include/uapi/asm/ptrace_64.h      |   15 -
 arch/sh/include/uapi/asm/sigcontext.h     |   13 -
 arch/sh/include/uapi/asm/stat.h           |   61 -
 arch/sh/include/uapi/asm/swab.h           |   10 -
 arch/sh/include/uapi/asm/unistd.h         |    8 +-
 arch/sh/include/uapi/asm/unistd_64.h      |  423 -----
 arch/sh/kernel/Makefile                   |   16 +-
 arch/sh/kernel/cpu/Makefile               |    1 -
 arch/sh/kernel/cpu/init.c                 |    2 +-
 arch/sh/kernel/cpu/irq/Makefile           |    3 +-
 arch/sh/kernel/cpu/irq/intc-sh5.c         |  194 --
 arch/sh/kernel/cpu/proc.c                 |    1 -
 arch/sh/kernel/cpu/sh5/Makefile           |   16 -
 arch/sh/kernel/cpu/sh5/clock-sh5.c        |   76 -
 arch/sh/kernel/cpu/sh5/entry.S            | 2000 ---------------------
 arch/sh/kernel/cpu/sh5/fpu.c              |  106 --
 arch/sh/kernel/cpu/sh5/probe.c            |   72 -
 arch/sh/kernel/cpu/sh5/setup-sh5.c        |  121 --
 arch/sh/kernel/cpu/sh5/switchto.S         |  195 --
 arch/sh/kernel/cpu/sh5/unwind.c           |  342 ----
 arch/sh/kernel/head_64.S                  |  346 ----
 arch/sh/kernel/irq_64.c                   |   48 -
 arch/sh/kernel/module.c                   |    9 -
 arch/sh/kernel/process.c                  |    2 -
 arch/sh/kernel/process_64.c               |  461 -----
 arch/sh/kernel/ptrace_64.c                |  576 ------
 arch/sh/kernel/reboot.c                   |    6 -
 arch/sh/kernel/sh_ksyms_64.c              |   51 -
 arch/sh/kernel/signal_64.c                |  567 ------
 arch/sh/kernel/syscalls_64.S              |  419 -----
 arch/sh/kernel/traps_64.c                 |  814 ---------
 arch/sh/kernel/vmlinux.lds.S              |   18 +-
 arch/sh/lib64/Makefile                    |   17 -
 arch/sh/lib64/copy_page.S                 |   89 -
 arch/sh/lib64/copy_user_memcpy.S          |  218 ---
 arch/sh/lib64/memcpy.S                    |  202 ---
 arch/sh/lib64/memset.S                    |   92 -
 arch/sh/lib64/panic.c                     |   15 -
 arch/sh/lib64/sdivsi3.S                   |  136 --
 arch/sh/lib64/strcpy.S                    |   98 -
 arch/sh/lib64/strlen.S                    |   34 -
 arch/sh/lib64/udelay.c                    |   49 -
 arch/sh/lib64/udivdi3.S                   |  121 --
 arch/sh/lib64/udivsi3.S                   |   60 -
 arch/sh/mm/Kconfig                        |   16 +-
 arch/sh/mm/Makefile                       |   31 +-
 arch/sh/mm/cache-sh5.c                    |  621 -------
 arch/sh/mm/cache.c                        |    6 -
 arch/sh/mm/extable_64.c                   |   84 -
 arch/sh/mm/tlb-sh5.c                      |  224 ---
 arch/sh/mm/tlbex_64.c                     |  166 --
 arch/sh/mm/tlbflush_64.c                  |  172 --
 drivers/rtc/Kconfig                       |    2 +-
 fs/Kconfig.binfmt                         |    2 +-
 scripts/headers_install.sh                |    3 -
 tools/arch/sh/include/asm/barrier.h       |    2 +-
 117 files changed, 67 insertions(+), 11554 deletions(-)
 delete mode 100644 arch/sh/drivers/pci/ops-sh5.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh5.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh5.h
 delete mode 100644 arch/sh/include/asm/bl_bit_64.h
 delete mode 100644 arch/sh/include/asm/cache_insns_64.h
 delete mode 100644 arch/sh/include/asm/mmu_context_64.h
 delete mode 100644 arch/sh/include/asm/pgtable_64.h
 delete mode 100644 arch/sh/include/asm/processor_64.h
 delete mode 100644 arch/sh/include/asm/ptrace_64.h
 delete mode 100644 arch/sh/include/asm/string_64.h
 delete mode 100644 arch/sh/include/asm/switch_to_64.h
 delete mode 100644 arch/sh/include/asm/syscall_64.h
 delete mode 100644 arch/sh/include/asm/syscalls_64.h
 delete mode 100644 arch/sh/include/asm/tlb_64.h
 delete mode 100644 arch/sh/include/asm/traps_64.h
 delete mode 100644 arch/sh/include/asm/uaccess_64.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/addrspace.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/irq.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/mmu_context.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/registers.h
 delete mode 100644 arch/sh/include/cpu-sh5/cpu/rtc.h
 delete mode 100644 arch/sh/include/uapi/asm/posix_types_64.h
 delete mode 100644 arch/sh/include/uapi/asm/ptrace_64.h
 delete mode 100644 arch/sh/include/uapi/asm/unistd_64.h
 delete mode 100644 arch/sh/kernel/cpu/irq/intc-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh5/clock-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/entry.S
 delete mode 100644 arch/sh/kernel/cpu/sh5/fpu.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/setup-sh5.c
 delete mode 100644 arch/sh/kernel/cpu/sh5/switchto.S
 delete mode 100644 arch/sh/kernel/cpu/sh5/unwind.c
 delete mode 100644 arch/sh/kernel/head_64.S
 delete mode 100644 arch/sh/kernel/irq_64.c
 delete mode 100644 arch/sh/kernel/process_64.c
 delete mode 100644 arch/sh/kernel/ptrace_64.c
 delete mode 100644 arch/sh/kernel/sh_ksyms_64.c
 delete mode 100644 arch/sh/kernel/signal_64.c
 delete mode 100644 arch/sh/kernel/syscalls_64.S
 delete mode 100644 arch/sh/kernel/traps_64.c
 delete mode 100644 arch/sh/lib64/Makefile
 delete mode 100644 arch/sh/lib64/copy_page.S
 delete mode 100644 arch/sh/lib64/copy_user_memcpy.S
 delete mode 100644 arch/sh/lib64/memcpy.S
 delete mode 100644 arch/sh/lib64/memset.S
 delete mode 100644 arch/sh/lib64/panic.c
 delete mode 100644 arch/sh/lib64/sdivsi3.S
 delete mode 100644 arch/sh/lib64/strcpy.S
 delete mode 100644 arch/sh/lib64/strlen.S
 delete mode 100644 arch/sh/lib64/udelay.c
 delete mode 100644 arch/sh/lib64/udivdi3.S
 delete mode 100644 arch/sh/lib64/udivsi3.S
 delete mode 100644 arch/sh/mm/cache-sh5.c
 delete mode 100644 arch/sh/mm/extable_64.c
 delete mode 100644 arch/sh/mm/tlb-sh5.c
 delete mode 100644 arch/sh/mm/tlbex_64.c
 delete mode 100644 arch/sh/mm/tlbflush_64.c

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index b4f0e37b83eb..74403e80221c 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -54,15 +54,6 @@ config SUPERH
 	select HAVE_NMI
 	select NEED_SG_DMA_LENGTH
 	select ARCH_HAS_GIGANTIC_PAGE
-
-	help
-	  The SuperH is a RISC processor targeted for use in embedded systems
-	  and consumer electronics; it was also used in the Sega Dreamcast
-	  gaming console.  The SuperH port has a home page at
-	  <http://www.linux-sh.org/>.
-
-config SUPERH32
-	def_bool "$(ARCH)" = "sh"
 	select ARCH_32BIT_OFF_T
 	select GUP_GET_PTE_LOW_HIGH if X2TLB
 	select HAVE_KPROBES
@@ -81,19 +72,15 @@ config SUPERH32
 	select ARCH_HIBERNATION_POSSIBLE if MMU
 	select SPARSE_IRQ
 	select HAVE_STACKPROTECTOR
-
-config SUPERH64
-	def_bool "$(ARCH)" = "sh64"
-	select HAVE_EXIT_THREAD
-	select KALLSYMS
+	help
+	  The SuperH is a RISC processor targeted for use in embedded systems
+	  and consumer electronics; it was also used in the Sega Dreamcast
+	  gaming console.  The SuperH port has a home page at
+	  <http://www.linux-sh.org/>.
 
 config GENERIC_BUG
 	def_bool y
-	depends on BUG && SUPERH32
-
-config GENERIC_CSUM
-	def_bool y
-	depends on SUPERH64
+	depends on BUG
 
 config GENERIC_HWEIGHT
 	def_bool y
@@ -203,12 +190,6 @@ config CPU_SH4AL_DSP
 	select CPU_SH4A
 	select CPU_HAS_DSP
 
-config CPU_SH5
-	bool
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_TMU
-	select SYS_SUPPORTS_HUGETLBFS if MMU
-
 config CPU_SHX2
 	bool
 
@@ -228,8 +209,6 @@ config CPU_HAS_PMU
        default y
        bool
 
-if SUPERH32
-
 choice
 	prompt "Processor sub-type selection"
 
@@ -518,27 +497,6 @@ config CPU_SUBTYPE_SH7366
 
 endchoice
 
-endif
-
-if SUPERH64
-
-choice
-	prompt "Processor sub-type selection"
-
-# SH-5 Processor Support
-
-config CPU_SUBTYPE_SH5_101
-	bool "Support SH5-101 processor"
-	select CPU_SH5
-
-config CPU_SUBTYPE_SH5_103
-	bool "Support SH5-103 processor"
-	select CPU_SH5
-
-endchoice
-
-endif
-
 source "arch/sh/mm/Kconfig"
  
 source "arch/sh/Kconfig.cpu"
@@ -592,7 +550,7 @@ source "kernel/Kconfig.hz"
 
 config KEXEC
 	bool "kexec system call (EXPERIMENTAL)"
-	depends on SUPERH32 && MMU
+	depends on MMU
 	select KEXEC_CORE
 	help
 	  kexec is a system call that implements the ability to shutdown your
@@ -610,7 +568,7 @@ config KEXEC
 
 config CRASH_DUMP
 	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on SUPERH32 && BROKEN_ON_SMP
+	depends on BROKEN_ON_SMP
 	help
 	  Generate crash dump after being started by kexec.
 	  This should be normally only set in special crash dump kernels
@@ -624,7 +582,7 @@ config CRASH_DUMP
 
 config KEXEC_JUMP
 	bool "kexec jump (EXPERIMENTAL)"
-	depends on SUPERH32 && KEXEC && HIBERNATION
+	depends on KEXEC && HIBERNATION
 	help
 	  Jump between original kernel and kexeced kernel and invoke
 	  code via KEXEC
@@ -701,7 +659,7 @@ config HOTPLUG_CPU
 
 config GUSA
 	def_bool y
-	depends on !SMP && SUPERH32
+	depends on !SMP
 	help
 	  This enables support for gUSA (general UserSpace Atomicity).
 	  This is the default implementation for both UP and non-ll/sc
diff --git a/arch/sh/Kconfig.cpu b/arch/sh/Kconfig.cpu
index 4a4edc7e03d4..97ca35f2cd37 100644
--- a/arch/sh/Kconfig.cpu
+++ b/arch/sh/Kconfig.cpu
@@ -13,7 +13,6 @@ config CPU_LITTLE_ENDIAN
 
 config CPU_BIG_ENDIAN
 	bool "Big Endian"
-	depends on !CPU_SH5
 
 endchoice
 
@@ -27,10 +26,6 @@ config SH_FPU
 
 	  This option must be set in order to enable the FPU.
 
-config SH64_FPU_DENORM_FLUSH
-	bool "Flush floating point denorms to zero"
-	depends on SH_FPU && SUPERH64
-
 config SH_FPU_EMU
 	def_bool n
 	prompt "FPU emulation support"
@@ -77,10 +72,6 @@ config SPECULATIVE_EXECUTION
 
 	  If unsure, say N.
 
-config SH64_ID2815_WORKAROUND
-	bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
-	depends on CPU_SUBTYPE_SH5_101
-
 config CPU_HAS_INTEVT
 	bool
 
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
index 010b6c33bbba..28a43d63bde1 100644
--- a/arch/sh/Kconfig.debug
+++ b/arch/sh/Kconfig.debug
@@ -5,7 +5,6 @@ config TRACE_IRQFLAGS_SUPPORT
 
 config SH_STANDARD_BIOS
 	bool "Use LinuxSH standard BIOS"
-	depends on SUPERH32
 	help
 	  Say Y here if your target has the gdb-sh-stub
 	  package from www.m17n.org (or any conforming standard LinuxSH BIOS)
@@ -19,7 +18,7 @@ config SH_STANDARD_BIOS
 
 config STACK_DEBUG
 	bool "Check for stack overflows"
-	depends on DEBUG_KERNEL && SUPERH32
+	depends on DEBUG_KERNEL
 	help
 	  This option will cause messages to be printed if free stack space
 	  drops below a certain limit. Saying Y here will add overhead to
@@ -38,7 +37,7 @@ config 4KSTACKS
 
 config IRQSTACKS
 	bool "Use separate kernel stacks when processing interrupts"
-	depends on DEBUG_KERNEL && SUPERH32 && BROKEN
+	depends on DEBUG_KERNEL && BROKEN
 	help
 	  If you say Y here the kernel will use separate kernel stacks
 	  for handling hard and soft interrupts.  This can help avoid
@@ -46,7 +45,7 @@ config IRQSTACKS
 
 config DUMP_CODE
 	bool "Show disassembly of nearby code in register dumps"
-	depends on DEBUG_KERNEL && SUPERH32
+	depends on DEBUG_KERNEL
 	default y if DEBUG_BUGVERBOSE
 	default n
 	help
@@ -59,7 +58,6 @@ config DUMP_CODE
 config DWARF_UNWINDER
 	bool "Enable the DWARF unwinder for stacktraces"
 	select FRAME_POINTER
-	depends on SUPERH32
 	default n
 	help
 	  Enabling this option will make stacktraces more accurate, at
@@ -77,11 +75,6 @@ config SH_NO_BSS_INIT
 	  For all other cases, say N. If this option seems perplexing, or
 	  you aren't sure, say N.
 
-config SH64_SR_WATCH
-	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
-	depends on SUPERH64
-
 config MCOUNT
 	def_bool y
-	depends on SUPERH32
 	depends on STACK_DEBUG || FUNCTION_TRACER
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index b4a86f27e048..da9cf952f33c 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -11,7 +11,7 @@
 #
 ifneq ($(SUBARCH),$(ARCH))
   ifeq ($(CROSS_COMPILE),)
-    CROSS_COMPILE := $(call cc-cross-prefix, $(UTS_MACHINE)-linux-  $(UTS_MACHINE)-linux-gnu-  $(UTS_MACHINE)-unknown-linux-gnu-)
+    CROSS_COMPILE := $(call cc-cross-prefix, sh-linux- sh-linux-gnu- sh-unknown-linux-gnu-)
   endif
 endif
 
@@ -29,12 +29,9 @@ isa-$(CONFIG_CPU_SH3)			:= sh3
 isa-$(CONFIG_CPU_SH4)			:= sh4
 isa-$(CONFIG_CPU_SH4A)			:= sh4a
 isa-$(CONFIG_CPU_SH4AL_DSP)		:= sh4al
-isa-$(CONFIG_CPU_SH5)			:= shmedia
 
-ifeq ($(CONFIG_SUPERH32),y)
 isa-$(CONFIG_SH_DSP)			:= $(isa-y)-dsp
 isa-y					:= $(isa-y)-up
-endif
 
 cflags-$(CONFIG_CPU_SH2)		:= $(call cc-option,-m2,)
 cflags-$(CONFIG_CPU_J2)			+= $(call cc-option,-mj2,)
@@ -47,7 +44,6 @@ cflags-$(CONFIG_CPU_SH4)		:= $(call cc-option,-m4,) \
 cflags-$(CONFIG_CPU_SH4A)		+= $(call cc-option,-m4a,) \
 					   $(call cc-option,-m4a-nofpu,)
 cflags-$(CONFIG_CPU_SH4AL_DSP)		+= $(call cc-option,-m4al,)
-cflags-$(CONFIG_CPU_SH5)		:= $(call cc-option,-m5-32media-nofpu,)
 
 ifeq ($(cflags-y),)
 #
@@ -88,7 +84,7 @@ OBJCOPYFLAGS	:= -O binary -R .note -R .note.gnu.build-id -R .comment \
 		   -R .stab -R .stabstr -S
 
 # Give the various platforms the opportunity to set default image types
-defaultimage-$(CONFIG_SUPERH32)			:= zImage
+defaultimage-y					:= zImage
 defaultimage-$(CONFIG_SH_SH7785LCR)		:= uImage
 defaultimage-$(CONFIG_SH_RSK)			:= uImage
 defaultimage-$(CONFIG_SH_URQUELL)		:= uImage
@@ -107,31 +103,22 @@ KBUILD_IMAGE		:= $(boot)/$(defaultimage-y)
 # Choosing incompatible machines durings configuration will result in
 # error messages during linking.
 #
-ifdef CONFIG_SUPERH32
 UTS_MACHINE		:= sh
-BITS			:= 32
 LDFLAGS_vmlinux		+= -e _stext
-else
-UTS_MACHINE		:= sh64
-BITS			:= 64
-LDFLAGS_vmlinux		+= --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
-			   --defsym phys_stext_shmedia=phys_stext+1 \
-			   -e phys_stext_shmedia
-endif
 
 ifdef CONFIG_CPU_LITTLE_ENDIAN
-ld-bfd			:= elf32-$(UTS_MACHINE)-linux
+ld-bfd			:= elf32-sh-linux
 LDFLAGS_vmlinux		+= --defsym jiffies=jiffies_64 --oformat $(ld-bfd)
 KBUILD_LDFLAGS		+= -EL
 else
-ld-bfd			:= elf32-$(UTS_MACHINE)big-linux
+ld-bfd			:= elf32-shbig-linux
 LDFLAGS_vmlinux		+= --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd)
 KBUILD_LDFLAGS		+= -EB
 endif
 
-export ld-bfd BITS
+export ld-bfd
 
-head-y	:= arch/sh/kernel/head_$(BITS).o
+head-y	:= arch/sh/kernel/head_32.o
 
 core-y				+= arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/
 core-$(CONFIG_SH_FPU_EMU)	+= arch/sh/math-emu/
@@ -185,7 +172,6 @@ cpuincdir-$(CONFIG_CPU_SH2)	+= cpu-sh2
 cpuincdir-$(CONFIG_CPU_SH3)	+= cpu-sh3
 cpuincdir-$(CONFIG_CPU_SH4A)	+= cpu-sh4a
 cpuincdir-$(CONFIG_CPU_SH4)	+= cpu-sh4
-cpuincdir-$(CONFIG_CPU_SH5)	+= cpu-sh5
 cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
@@ -206,8 +192,7 @@ ifeq ($(CONFIG_DWARF_UNWINDER),y)
   KBUILD_CFLAGS += -fasynchronous-unwind-tables
 endif
 
-libs-$(CONFIG_SUPERH32)		:= arch/sh/lib/	$(libs-y)
-libs-$(CONFIG_SUPERH64)		:= arch/sh/lib64/ $(libs-y)
+libs-y			:= arch/sh/lib/	$(libs-y)
 
 BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.xz uImage.lzo \
 	       uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \
diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
index f5e1bd779789..ad0e2403e56f 100644
--- a/arch/sh/boot/compressed/Makefile
+++ b/arch/sh/boot/compressed/Makefile
@@ -8,9 +8,9 @@
 targets		:= vmlinux vmlinux.bin vmlinux.bin.gz \
 		   vmlinux.bin.bz2 vmlinux.bin.lzma \
 		   vmlinux.bin.xz vmlinux.bin.lzo \
-		   head_$(BITS).o misc.o piggy.o
+		   head_32.o misc.o piggy.o
 
-OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o
+OBJECTS = $(obj)/head_32.o $(obj)/misc.o $(obj)/cache.o
 
 GCOV_PROFILE := n
 
@@ -39,15 +39,11 @@ LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
 #
 # Pull in the necessary libgcc bits from the in-kernel implementation.
 #
-lib1funcs-$(CONFIG_SUPERH32)	:= ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S \
-				   lshrsi3.S
-lib1funcs-obj			:= \
+lib1funcs-y	:= ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S lshrsi3.S
+lib1funcs-obj   := \
 	$(addsuffix .o, $(basename $(addprefix $(obj)/, $(lib1funcs-y))))
 
 lib1funcs-dir		:= $(srctree)/arch/$(SRCARCH)/lib
-ifeq ($(BITS),64)
-	lib1funcs-dir 	:= $(addsuffix $(BITS), $(lib1funcs-dir))
-endif
 
 KBUILD_CFLAGS += -I$(lib1funcs-dir) -DDISABLE_BRANCH_PROFILING
 
diff --git a/arch/sh/boot/compressed/misc.c b/arch/sh/boot/compressed/misc.c
index e69ec12cbbe6..a03b6680a9d9 100644
--- a/arch/sh/boot/compressed/misc.c
+++ b/arch/sh/boot/compressed/misc.c
@@ -116,11 +116,7 @@ void ftrace_stub(void)
 {
 }
 
-#ifdef CONFIG_SUPERH64
-#define stackalign	8
-#else
 #define stackalign	4
-#endif
 
 #define STACK_SIZE (4096)
 long __attribute__ ((aligned(stackalign))) user_stack[STACK_SIZE];
@@ -130,13 +126,9 @@ void decompress_kernel(void)
 {
 	unsigned long output_addr;
 
-#ifdef CONFIG_SUPERH64
-	output_addr = (CONFIG_MEMORY_START + 0x2000);
-#else
 	output_addr = __pa((unsigned long)&_text+PAGE_SIZE);
 #if defined(CONFIG_29BIT)
 	output_addr |= P2SEG;
-#endif
 #endif
 
 	output = (unsigned char *)output_addr;
diff --git a/arch/sh/drivers/pci/Makefile b/arch/sh/drivers/pci/Makefile
index 947bfe8bb0a7..a5c1e9066f83 100644
--- a/arch/sh/drivers/pci/Makefile
+++ b/arch/sh/drivers/pci/Makefile
@@ -10,7 +10,6 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7763)	+= pci-sh7780.o ops-sh4.o
 obj-$(CONFIG_CPU_SUBTYPE_SH7780)	+= pci-sh7780.o ops-sh4.o
 obj-$(CONFIG_CPU_SUBTYPE_SH7785)	+= pci-sh7780.o ops-sh4.o
 obj-$(CONFIG_CPU_SUBTYPE_SH7786)	+= pcie-sh7786.o ops-sh7786.o
-obj-$(CONFIG_CPU_SH5)			+= pci-sh5.o ops-sh5.o
 
 obj-$(CONFIG_SH_DREAMCAST)		+= ops-dreamcast.o fixups-dreamcast.o \
 					   pci-dreamcast.o
diff --git a/arch/sh/drivers/pci/ops-sh5.c b/arch/sh/drivers/pci/ops-sh5.c
deleted file mode 100644
index 9fbaf72949ab..000000000000
diff --git a/arch/sh/drivers/pci/pci-sh5.c b/arch/sh/drivers/pci/pci-sh5.c
deleted file mode 100644
index 03225d27770b..000000000000
diff --git a/arch/sh/drivers/pci/pci-sh5.h b/arch/sh/drivers/pci/pci-sh5.h
deleted file mode 100644
index 91348af0ef6c..000000000000
diff --git a/arch/sh/include/asm/barrier.h b/arch/sh/include/asm/barrier.h
index 66faae19d254..0d58a0159aa6 100644
--- a/arch/sh/include/asm/barrier.h
+++ b/arch/sh/include/asm/barrier.h
@@ -6,7 +6,7 @@
 #ifndef __ASM_SH_BARRIER_H
 #define __ASM_SH_BARRIER_H
 
-#if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5)
+#if defined(CONFIG_CPU_SH4A)
 #include <asm/cache_insns.h>
 #endif
 
@@ -24,7 +24,7 @@
  * Historically we have only done this type of barrier for the MMUCR, but
  * it's also necessary for the CCR, so we make it generic here instead.
  */
-#if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5)
+#if defined(CONFIG_CPU_SH4A)
 #define mb()		__asm__ __volatile__ ("synco": : :"memory")
 #define rmb()		mb()
 #define wmb()		mb()
diff --git a/arch/sh/include/asm/bitops.h b/arch/sh/include/asm/bitops.h
index 8c3578288db5..445dd14c448a 100644
--- a/arch/sh/include/asm/bitops.h
+++ b/arch/sh/include/asm/bitops.h
@@ -26,7 +26,6 @@
 #include <asm-generic/bitops/non-atomic.h>
 #endif
 
-#ifdef CONFIG_SUPERH32
 static inline unsigned long ffz(unsigned long word)
 {
 	unsigned long result;
@@ -60,31 +59,6 @@ static inline unsigned long __ffs(unsigned long word)
 		: "t");
 	return result;
 }
-#else
-static inline unsigned long ffz(unsigned long word)
-{
-	unsigned long result, __d2, __d3;
-
-        __asm__("gettr  tr0, %2\n\t"
-                "pta    $+32, tr0\n\t"
-                "andi   %1, 1, %3\n\t"
-                "beq    %3, r63, tr0\n\t"
-                "pta    $+4, tr0\n"
-                "0:\n\t"
-                "shlri.l        %1, 1, %1\n\t"
-                "addi   %0, 1, %0\n\t"
-                "andi   %1, 1, %3\n\t"
-                "beqi   %3, 1, tr0\n"
-                "1:\n\t"
-                "ptabs  %2, tr0\n\t"
-                : "=r" (result), "=r" (word), "=r" (__d2), "=r" (__d3)
-                : "0" (0L), "1" (word));
-
-	return result;
-}
-
-#include <asm-generic/bitops/__ffs.h>
-#endif
 
 #include <asm-generic/bitops/find.h>
 #include <asm-generic/bitops/ffs.h>
diff --git a/arch/sh/include/asm/bl_bit.h b/arch/sh/include/asm/bl_bit.h
index 7e3d81691ad5..5d04f2c62563 100644
--- a/arch/sh/include/asm/bl_bit.h
+++ b/arch/sh/include/asm/bl_bit.h
@@ -1,11 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BL_BIT_H
-#define __ASM_SH_BL_BIT_H
-
-#ifdef CONFIG_SUPERH32
-# include <asm/bl_bit_32.h>
-#else
-# include <asm/bl_bit_64.h>
-#endif
-
-#endif /* __ASM_SH_BL_BIT_H */
+#include <asm/bl_bit_32.h>
diff --git a/arch/sh/include/asm/bl_bit_64.h b/arch/sh/include/asm/bl_bit_64.h
deleted file mode 100644
index aac9780fe864..000000000000
diff --git a/arch/sh/include/asm/bugs.h b/arch/sh/include/asm/bugs.h
index 030df56bfdb2..fe52abb69cea 100644
--- a/arch/sh/include/asm/bugs.h
+++ b/arch/sh/include/asm/bugs.h
@@ -53,10 +53,6 @@ static void __init check_bugs(void)
 		*p++ = 's';
 		*p++ = 'p';
 		break;
-	case CPU_FAMILY_SH5:
-		*p++ = '6';
-		*p++ = '4';
-		break;
 	case CPU_FAMILY_UNKNOWN:
 		/*
 		 * Specifically use CPU_FAMILY_UNKNOWN rather than
diff --git a/arch/sh/include/asm/cache_insns.h b/arch/sh/include/asm/cache_insns.h
index c5a4acdc53f9..d7edd5297bd0 100644
--- a/arch/sh/include/asm/cache_insns.h
+++ b/arch/sh/include/asm/cache_insns.h
@@ -1,12 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CACHE_INSNS_H
-#define __ASM_SH_CACHE_INSNS_H
-
-
-#ifdef CONFIG_SUPERH32
-# include <asm/cache_insns_32.h>
-#else
-# include <asm/cache_insns_64.h>
-#endif
-
-#endif /* __ASM_SH_CACHE_INSNS_H */
+#include <asm/cache_insns_32.h>
diff --git a/arch/sh/include/asm/cache_insns_64.h b/arch/sh/include/asm/cache_insns_64.h
deleted file mode 100644
index ed682b987b0d..000000000000
diff --git a/arch/sh/include/asm/checksum.h b/arch/sh/include/asm/checksum.h
index a460a108969d..00e39dd0d146 100644
--- a/arch/sh/include/asm/checksum.h
+++ b/arch/sh/include/asm/checksum.h
@@ -1,6 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#ifdef CONFIG_SUPERH32
-# include <asm/checksum_32.h>
-#else
-# include <asm-generic/checksum.h>
-#endif
+#include <asm/checksum_32.h>
diff --git a/arch/sh/include/asm/elf.h b/arch/sh/include/asm/elf.h
index 5ec8db1ddc20..7661fb5d548a 100644
--- a/arch/sh/include/asm/elf.h
+++ b/arch/sh/include/asm/elf.h
@@ -133,28 +133,6 @@ typedef struct user_fpu_struct elf_fpregset_t;
 
 #define ELF_PLATFORM	(utsname()->machine)
 
-#ifdef __SH5__
-#define ELF_PLAT_INIT(_r, load_addr) \
-  do { _r->regs[0]=0; _r->regs[1]=0; _r->regs[2]=0; _r->regs[3]=0; \
-       _r->regs[4]=0; _r->regs[5]=0; _r->regs[6]=0; _r->regs[7]=0; \
-       _r->regs[8]=0; _r->regs[9]=0; _r->regs[10]=0; _r->regs[11]=0; \
-       _r->regs[12]=0; _r->regs[13]=0; _r->regs[14]=0; _r->regs[15]=0; \
-       _r->regs[16]=0; _r->regs[17]=0; _r->regs[18]=0; _r->regs[19]=0; \
-       _r->regs[20]=0; _r->regs[21]=0; _r->regs[22]=0; _r->regs[23]=0; \
-       _r->regs[24]=0; _r->regs[25]=0; _r->regs[26]=0; _r->regs[27]=0; \
-       _r->regs[28]=0; _r->regs[29]=0; _r->regs[30]=0; _r->regs[31]=0; \
-       _r->regs[32]=0; _r->regs[33]=0; _r->regs[34]=0; _r->regs[35]=0; \
-       _r->regs[36]=0; _r->regs[37]=0; _r->regs[38]=0; _r->regs[39]=0; \
-       _r->regs[40]=0; _r->regs[41]=0; _r->regs[42]=0; _r->regs[43]=0; \
-       _r->regs[44]=0; _r->regs[45]=0; _r->regs[46]=0; _r->regs[47]=0; \
-       _r->regs[48]=0; _r->regs[49]=0; _r->regs[50]=0; _r->regs[51]=0; \
-       _r->regs[52]=0; _r->regs[53]=0; _r->regs[54]=0; _r->regs[55]=0; \
-       _r->regs[56]=0; _r->regs[57]=0; _r->regs[58]=0; _r->regs[59]=0; \
-       _r->regs[60]=0; _r->regs[61]=0; _r->regs[62]=0; \
-       _r->tregs[0]=0; _r->tregs[1]=0; _r->tregs[2]=0; _r->tregs[3]=0; \
-       _r->tregs[4]=0; _r->tregs[5]=0; _r->tregs[6]=0; _r->tregs[7]=0; \
-       _r->sr = SR_FD | SR_MMU; } while (0)
-#else
 #define ELF_PLAT_INIT(_r, load_addr) \
   do { _r->regs[0]=0; _r->regs[1]=0; _r->regs[2]=0; _r->regs[3]=0; \
        _r->regs[4]=0; _r->regs[5]=0; _r->regs[6]=0; _r->regs[7]=0; \
@@ -182,7 +160,6 @@ do {									\
 	_r->regs[14]	= 0;						\
 	_r->sr		= SR_FD;					\
 } while (0)
-#endif
 
 #define SET_PERSONALITY(ex) \
 	set_personality(PER_LINUX_32BIT | (current->personality & (~PER_MASK)))
diff --git a/arch/sh/include/asm/extable.h b/arch/sh/include/asm/extable.h
index ed46f8bebb9f..5658d2bae372 100644
--- a/arch/sh/include/asm/extable.h
+++ b/arch/sh/include/asm/extable.h
@@ -4,8 +4,4 @@
 
 #include <asm-generic/extable.h>
 
-#if defined(CONFIG_SUPERH64) && defined(CONFIG_MMU)
-#define ARCH_HAS_SEARCH_EXTABLE
-#endif
-
 #endif
diff --git a/arch/sh/include/asm/fixmap.h b/arch/sh/include/asm/fixmap.h
index e30348c58073..f38adc189b83 100644
--- a/arch/sh/include/asm/fixmap.h
+++ b/arch/sh/include/asm/fixmap.h
@@ -83,11 +83,7 @@ extern void __clear_fixmap(enum fixed_addresses idx, pgprot_t flags);
  * the start of the fixmap, and leave one page empty
  * at the top of mem..
  */
-#ifdef CONFIG_SUPERH32
 #define FIXADDR_TOP	(P4SEG - PAGE_SIZE)
-#else
-#define FIXADDR_TOP	((unsigned long)(-PAGE_SIZE))
-#endif
 #define FIXADDR_SIZE	(__end_of_fixed_addresses << PAGE_SHIFT)
 #define FIXADDR_START	(FIXADDR_TOP - FIXADDR_SIZE)
 
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index 39c9ead489e5..a5bcc87c7eb9 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -115,12 +115,8 @@ static inline void pfx##reads##bwlq(volatile void __iomem *mem,		\
 __BUILD_MEMORY_STRING(__raw_, b, u8)
 __BUILD_MEMORY_STRING(__raw_, w, u16)
 
-#ifdef CONFIG_SUPERH32
 void __raw_writesl(void __iomem *addr, const void *data, int longlen);
 void __raw_readsl(const void __iomem *addr, void *data, int longlen);
-#else
-__BUILD_MEMORY_STRING(__raw_, l, u32)
-#endif
 
 __BUILD_MEMORY_STRING(__raw_, q, u64)
 
diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h
index 8065a3222e19..6d44c32ef047 100644
--- a/arch/sh/include/asm/irq.h
+++ b/arch/sh/include/asm/irq.h
@@ -66,8 +66,5 @@ extern void irq_finish(unsigned int irq);
 #endif
 
 #include <asm-generic/irq.h>
-#ifdef CONFIG_CPU_SH5
-#include <cpu/irq.h>
-#endif
 
 #endif /* __ASM_SH_IRQ_H */
diff --git a/arch/sh/include/asm/mmu_context.h b/arch/sh/include/asm/mmu_context.h
index 2d09650093c7..48e67d544d53 100644
--- a/arch/sh/include/asm/mmu_context.h
+++ b/arch/sh/include/asm/mmu_context.h
@@ -48,11 +48,7 @@
  */
 #define MMU_VPN_MASK	0xfffff000
 
-#if defined(CONFIG_SUPERH32)
 #include <asm/mmu_context_32.h>
-#else
-#include <asm/mmu_context_64.h>
-#endif
 
 /*
  * Get MMU context if needed.
@@ -74,14 +70,6 @@ static inline void get_mmu_context(struct mm_struct *mm, unsigned int cpu)
 		 */
 		local_flush_tlb_all();
 
-#ifdef CONFIG_SUPERH64
-		/*
-		 * The SH-5 cache uses the ASIDs, requiring both the I and D
-		 * cache to be flushed when the ASID is exhausted. Weak.
-		 */
-		flush_cache_all();
-#endif
-
 		/*
 		 * Fix version; Note that we avoid version #0
 		 * to distinguish NO_CONTEXT.
diff --git a/arch/sh/include/asm/mmu_context_64.h b/arch/sh/include/asm/mmu_context_64.h
deleted file mode 100644
index bacafe0b887d..000000000000
diff --git a/arch/sh/include/asm/module.h b/arch/sh/include/asm/module.h
index 9f38fb35fe96..2e29ee60c2b8 100644
--- a/arch/sh/include/asm/module.h
+++ b/arch/sh/include/asm/module.h
@@ -18,8 +18,6 @@ struct mod_arch_specific {
 #  define MODULE_PROC_FAMILY "SH3LE "
 # elif defined  CONFIG_CPU_SH4
 #  define MODULE_PROC_FAMILY "SH4LE "
-# elif defined  CONFIG_CPU_SH5
-#  define MODULE_PROC_FAMILY "SH5LE "
 # else
 #  error unknown processor family
 # endif
@@ -30,8 +28,6 @@ struct mod_arch_specific {
 #  define MODULE_PROC_FAMILY "SH3BE "
 # elif defined  CONFIG_CPU_SH4
 #  define MODULE_PROC_FAMILY "SH4BE "
-# elif defined  CONFIG_CPU_SH5
-#  define MODULE_PROC_FAMILY "SH5BE "
 # else
 #  error unknown processor family
 # endif
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h
index ea8d68f58e39..eca5daa43b93 100644
--- a/arch/sh/include/asm/page.h
+++ b/arch/sh/include/asm/page.h
@@ -35,8 +35,6 @@
 #define HPAGE_SHIFT	22
 #elif defined(CONFIG_HUGETLB_PAGE_SIZE_64MB)
 #define HPAGE_SHIFT	26
-#elif defined(CONFIG_HUGETLB_PAGE_SIZE_512MB)
-#define HPAGE_SHIFT	29
 #endif
 
 #ifdef CONFIG_HUGETLB_PAGE
@@ -82,18 +80,12 @@ typedef struct { unsigned long long pgd; } pgd_t;
 	((x).pte_low | ((unsigned long long)(x).pte_high << 32))
 #define __pte(x) \
 	({ pte_t __pte = {(x), ((unsigned long long)(x)) >> 32}; __pte; })
-#elif defined(CONFIG_SUPERH32)
+#else
 typedef struct { unsigned long pte_low; } pte_t;
 typedef struct { unsigned long pgprot; } pgprot_t;
 typedef struct { unsigned long pgd; } pgd_t;
 #define pte_val(x)	((x).pte_low)
 #define __pte(x)	((pte_t) { (x) } )
-#else
-typedef struct { unsigned long long pte_low; } pte_t;
-typedef struct { unsigned long long pgprot; } pgprot_t;
-typedef struct { unsigned long pgd; } pgd_t;
-#define pte_val(x)	((x).pte_low)
-#define __pte(x)	((pte_t) { (x) } )
 #endif
 
 #define pgd_val(x)	((x).pgd)
@@ -191,15 +183,4 @@ typedef struct page *pgtable_t;
  */
 #define ARCH_DMA_MINALIGN	L1_CACHE_BYTES
 
-#ifdef CONFIG_SUPERH64
-/*
- * While BYTES_PER_WORD == 4 on the current sh64 ABI, GCC will still
- * happily generate {ld/st}.q pairs, requiring us to have 8-byte
- * alignment to avoid traps. The kmalloc alignment is guaranteed by
- * virtue of L1_CACHE_BYTES, requiring this to only be special cased
- * for slab caches.
- */
-#define ARCH_SLAB_MINALIGN	8
-#endif
-
 #endif /* __ASM_SH_PAGE_H */
diff --git a/arch/sh/include/asm/pgtable.h b/arch/sh/include/asm/pgtable.h
index cbd0f3c55a0c..02d936406c6e 100644
--- a/arch/sh/include/asm/pgtable.h
+++ b/arch/sh/include/asm/pgtable.h
@@ -76,18 +76,10 @@ static inline unsigned long phys_addr_mask(void)
 #define PTE_PHYS_MASK		(phys_addr_mask() & PAGE_MASK)
 #define PTE_FLAGS_MASK		(~(PTE_PHYS_MASK) << PAGE_SHIFT)
 
-#ifdef CONFIG_SUPERH32
 #define VMALLOC_START	(P3SEG)
-#else
-#define VMALLOC_START	(0xf0000000)
-#endif
 #define VMALLOC_END	(FIXADDR_START-2*PAGE_SIZE)
 
-#if defined(CONFIG_SUPERH32)
 #include <asm/pgtable_32.h>
-#else
-#include <asm/pgtable_64.h>
-#endif
 
 /*
  * SH-X and lower (legacy) SuperH parts (SH-3, SH-4, some SH-4A) can't do page
@@ -159,15 +151,6 @@ static inline bool pte_access_permitted(pte_t pte, bool write)
 		prot |= _PAGE_EXT(_PAGE_EXT_KERN_WRITE | _PAGE_EXT_USER_WRITE);
 	return __pte_access_permitted(pte, prot);
 }
-#elif defined(CONFIG_SUPERH64)
-static inline bool pte_access_permitted(pte_t pte, bool write)
-{
-	u64 prot = _PAGE_PRESENT | _PAGE_USER | _PAGE_READ;
-
-	if (write)
-		prot |= _PAGE_WRITE;
-	return __pte_access_permitted(pte, prot);
-}
 #else
 static inline bool pte_access_permitted(pte_t pte, bool write)
 {
diff --git a/arch/sh/include/asm/pgtable_64.h b/arch/sh/include/asm/pgtable_64.h
deleted file mode 100644
index 1778bc5971e7..000000000000
diff --git a/arch/sh/include/asm/posix_types.h b/arch/sh/include/asm/posix_types.h
index 0d670fd94fe7..f8982b757c33 100644
--- a/arch/sh/include/asm/posix_types.h
+++ b/arch/sh/include/asm/posix_types.h
@@ -1,6 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-# ifdef CONFIG_SUPERH32
-#  include <asm/posix_types_32.h>
-# else
-#  include <asm/posix_types_64.h>
-# endif
+#include <asm/posix_types_32.h>
diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h
index 6fbf8c80e498..3820d698846e 100644
--- a/arch/sh/include/asm/processor.h
+++ b/arch/sh/include/asm/processor.h
@@ -39,9 +39,6 @@ enum cpu_type {
 	/* SH4AL-DSP types */
 	CPU_SH7343, CPU_SH7722, CPU_SH7366, CPU_SH7372,
 
-	/* SH-5 types */
-        CPU_SH5_101, CPU_SH5_103,
-
 	/* Unknown subtype */
 	CPU_SH_NONE
 };
@@ -53,7 +50,6 @@ enum cpu_family {
 	CPU_FAMILY_SH4,
 	CPU_FAMILY_SH4A,
 	CPU_FAMILY_SH4AL_DSP,
-	CPU_FAMILY_SH5,
 	CPU_FAMILY_UNKNOWN,
 };
 
@@ -167,18 +163,12 @@ int vsyscall_init(void);
  */
 #ifdef CONFIG_CPU_SH2A
 extern unsigned int instruction_size(unsigned int insn);
-#elif defined(CONFIG_SUPERH32)
-#define instruction_size(insn)	(2)
 #else
-#define instruction_size(insn)	(4)
+#define instruction_size(insn)	(2)
 #endif
 
 #endif /* __ASSEMBLY__ */
 
-#ifdef CONFIG_SUPERH32
-# include <asm/processor_32.h>
-#else
-# include <asm/processor_64.h>
-#endif
+#include <asm/processor_32.h>
 
 #endif /* __ASM_SH_PROCESSOR_H */
diff --git a/arch/sh/include/asm/processor_64.h b/arch/sh/include/asm/processor_64.h
deleted file mode 100644
index 53efc9f51ef1..000000000000
diff --git a/arch/sh/include/asm/ptrace_64.h b/arch/sh/include/asm/ptrace_64.h
deleted file mode 100644
index 6ee08229b433..000000000000
diff --git a/arch/sh/include/asm/string.h b/arch/sh/include/asm/string.h
index 84fc5ed9c5b3..0f6331ec28ed 100644
--- a/arch/sh/include/asm/string.h
+++ b/arch/sh/include/asm/string.h
@@ -1,6 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#ifdef CONFIG_SUPERH32
-# include <asm/string_32.h>
-#else
-# include <asm/string_64.h>
-#endif
+#include <asm/string_32.h>
diff --git a/arch/sh/include/asm/string_64.h b/arch/sh/include/asm/string_64.h
deleted file mode 100644
index d51d6150a4e2..000000000000
diff --git a/arch/sh/include/asm/switch_to.h b/arch/sh/include/asm/switch_to.h
index 9eec80ab5aa2..bd139bcdeec1 100644
--- a/arch/sh/include/asm/switch_to.h
+++ b/arch/sh/include/asm/switch_to.h
@@ -4,13 +4,4 @@
  * Copyright (C) 2003  Paul Mundt
  * Copyright (C) 2004  Richard Curnow
  */
-#ifndef __ASM_SH_SWITCH_TO_H
-#define __ASM_SH_SWITCH_TO_H
-
-#ifdef CONFIG_SUPERH32
-# include <asm/switch_to_32.h>
-#else
-# include <asm/switch_to_64.h>
-#endif
-
-#endif /* __ASM_SH_SWITCH_TO_H */
+#include <asm/switch_to_32.h>
diff --git a/arch/sh/include/asm/switch_to_64.h b/arch/sh/include/asm/switch_to_64.h
deleted file mode 100644
index 2dbf2311669f..000000000000
diff --git a/arch/sh/include/asm/syscall.h b/arch/sh/include/asm/syscall.h
index 90ba00002626..570699eb0e58 100644
--- a/arch/sh/include/asm/syscall.h
+++ b/arch/sh/include/asm/syscall.h
@@ -4,10 +4,6 @@
 
 extern const unsigned long sys_call_table[];
 
-#ifdef CONFIG_SUPERH32
-# include <asm/syscall_32.h>
-#else
-# include <asm/syscall_64.h>
-#endif
+#include <asm/syscall_32.h>
 
 #endif /* __ASM_SH_SYSCALL_H */
diff --git a/arch/sh/include/asm/syscall_64.h b/arch/sh/include/asm/syscall_64.h
deleted file mode 100644
index 72efcbc76f91..000000000000
diff --git a/arch/sh/include/asm/syscalls.h b/arch/sh/include/asm/syscalls.h
index 995ef046232c..387105316d28 100644
--- a/arch/sh/include/asm/syscalls.h
+++ b/arch/sh/include/asm/syscalls.h
@@ -2,8 +2,6 @@
 #ifndef __ASM_SH_SYSCALLS_H
 #define __ASM_SH_SYSCALLS_H
 
-#ifdef __KERNEL__
-
 asmlinkage int old_mmap(unsigned long addr, unsigned long len,
 			unsigned long prot, unsigned long flags,
 			int fd, unsigned long off);
@@ -11,11 +9,6 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
 			  unsigned long prot, unsigned long flags,
 			  unsigned long fd, unsigned long pgoff);
 
-#ifdef CONFIG_SUPERH32
-# include <asm/syscalls_32.h>
-#else
-# include <asm/syscalls_64.h>
-#endif
+#include <asm/syscalls_32.h>
 
-#endif /* __KERNEL__ */
 #endif /* __ASM_SH_SYSCALLS_H */
diff --git a/arch/sh/include/asm/syscalls_64.h b/arch/sh/include/asm/syscalls_64.h
deleted file mode 100644
index df42656cebea..000000000000
diff --git a/arch/sh/include/asm/thread_info.h b/arch/sh/include/asm/thread_info.h
index cf5c792bf70b..6404be69d5fa 100644
--- a/arch/sh/include/asm/thread_info.h
+++ b/arch/sh/include/asm/thread_info.h
@@ -70,9 +70,7 @@ register unsigned long current_stack_pointer asm("r15") __used;
 static inline struct thread_info *current_thread_info(void)
 {
 	struct thread_info *ti;
-#if defined(CONFIG_SUPERH64)
-	__asm__ __volatile__ ("getcon	cr17, %0" : "=r" (ti));
-#elif defined(CONFIG_CPU_HAS_SR_RB)
+#if defined(CONFIG_CPU_HAS_SR_RB)
 	__asm__ __volatile__ ("stc	r7_bank, %0" : "=r" (ti));
 #else
 	unsigned long __dummy;
diff --git a/arch/sh/include/asm/tlb.h b/arch/sh/include/asm/tlb.h
index bc77f3dd4261..360f713d009b 100644
--- a/arch/sh/include/asm/tlb.h
+++ b/arch/sh/include/asm/tlb.h
@@ -2,10 +2,6 @@
 #ifndef __ASM_SH_TLB_H
 #define __ASM_SH_TLB_H
 
-#ifdef CONFIG_SUPERH64
-# include <asm/tlb_64.h>
-#endif
-
 #ifndef __ASSEMBLY__
 #include <linux/pagemap.h>
 
@@ -14,7 +10,7 @@
 
 #include <asm-generic/tlb.h>
 
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SUPERH64)
+#if defined(CONFIG_CPU_SH4)
 extern void tlb_wire_entry(struct vm_area_struct *, unsigned long, pte_t);
 extern void tlb_unwire_entry(void);
 #else
diff --git a/arch/sh/include/asm/tlb_64.h b/arch/sh/include/asm/tlb_64.h
deleted file mode 100644
index 59fa0a23dad7..000000000000
diff --git a/arch/sh/include/asm/traps.h b/arch/sh/include/asm/traps.h
index 8844ed0c0fde..ba831bc7e08f 100644
--- a/arch/sh/include/asm/traps.h
+++ b/arch/sh/include/asm/traps.h
@@ -4,11 +4,7 @@
 
 #include <linux/compiler.h>
 
-#ifdef CONFIG_SUPERH32
 # include <asm/traps_32.h>
-#else
-# include <asm/traps_64.h>
-#endif
 
 BUILD_TRAP_HANDLER(address_error);
 BUILD_TRAP_HANDLER(debug);
diff --git a/arch/sh/include/asm/traps_64.h b/arch/sh/include/asm/traps_64.h
deleted file mode 100644
index f28db6dfbe45..000000000000
diff --git a/arch/sh/include/asm/types.h b/arch/sh/include/asm/types.h
index df96c511bb6e..68eb24ad2013 100644
--- a/arch/sh/include/asm/types.h
+++ b/arch/sh/include/asm/types.h
@@ -9,13 +9,8 @@
  */
 #ifndef __ASSEMBLY__
 
-#ifdef CONFIG_SUPERH32
 typedef u16 insn_size_t;
 typedef u32 reg_size_t;
-#else
-typedef u32 insn_size_t;
-typedef u64 reg_size_t;
-#endif
 
 #endif /* __ASSEMBLY__ */
 #endif /* __ASM_SH_TYPES_H */
diff --git a/arch/sh/include/asm/uaccess.h b/arch/sh/include/asm/uaccess.h
index 5fe751ad7582..73f3b48d4a34 100644
--- a/arch/sh/include/asm/uaccess.h
+++ b/arch/sh/include/asm/uaccess.h
@@ -96,11 +96,7 @@ struct __large_struct { unsigned long buf[100]; };
 	__pu_err;						\
 })
 
-#ifdef CONFIG_SUPERH32
 # include <asm/uaccess_32.h>
-#else
-# include <asm/uaccess_64.h>
-#endif
 
 extern long strncpy_from_user(char *dest, const char __user *src, long count);
 
diff --git a/arch/sh/include/asm/uaccess_64.h b/arch/sh/include/asm/uaccess_64.h
deleted file mode 100644
index 0c19d02dc566..000000000000
diff --git a/arch/sh/include/asm/unistd.h b/arch/sh/include/asm/unistd.h
index 9c7d9d9999c6..d6e126250136 100644
--- a/arch/sh/include/asm/unistd.h
+++ b/arch/sh/include/asm/unistd.h
@@ -1,9 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-# ifdef CONFIG_SUPERH32
-#  include <asm/unistd_32.h>
-# else
-#  include <asm/unistd_64.h>
-# endif
+#include <asm/unistd_32.h>
 
 #define NR_syscalls	__NR_syscalls
 
diff --git a/arch/sh/include/asm/user.h b/arch/sh/include/asm/user.h
index e97f2efed527..7dfd3f6461e6 100644
--- a/arch/sh/include/asm/user.h
+++ b/arch/sh/include/asm/user.h
@@ -28,19 +28,12 @@
  *	to write an integer number of pages.
  */
 
-#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
-struct user_fpu_struct {
-	unsigned long fp_regs[32];
-	unsigned int fpscr;
-};
-#else
 struct user_fpu_struct {
 	unsigned long fp_regs[16];
 	unsigned long xfp_regs[16];
 	unsigned long fpscr;
 	unsigned long fpul;
 };
-#endif
 
 struct user {
 	struct pt_regs	regs;			/* entire machine state */
diff --git a/arch/sh/include/asm/vmlinux.lds.h b/arch/sh/include/asm/vmlinux.lds.h
index 992955685874..8d96c4f9b35b 100644
--- a/arch/sh/include/asm/vmlinux.lds.h
+++ b/arch/sh/include/asm/vmlinux.lds.h
@@ -15,12 +15,4 @@
 #define DWARF_EH_FRAME
 #endif
 
-#ifdef CONFIG_SUPERH64
-#define EXTRA_TEXT		\
-	*(.text64)		\
-	*(.text..SHmedia32)
-#else
-#define EXTRA_TEXT
-#endif
-
 #endif /* __ASM_SH_VMLINUX_LDS_H */
diff --git a/arch/sh/include/cpu-sh5/cpu/addrspace.h b/arch/sh/include/cpu-sh5/cpu/addrspace.h
deleted file mode 100644
index 6dd1e72f31b2..000000000000
diff --git a/arch/sh/include/cpu-sh5/cpu/cache.h b/arch/sh/include/cpu-sh5/cpu/cache.h
deleted file mode 100644
index ef49538f386f..000000000000
diff --git a/arch/sh/include/cpu-sh5/cpu/irq.h b/arch/sh/include/cpu-sh5/cpu/irq.h
deleted file mode 100644
index 4aa6ac54b9d6..000000000000
diff --git a/arch/sh/include/cpu-sh5/cpu/mmu_context.h b/arch/sh/include/cpu-sh5/cpu/mmu_context.h
deleted file mode 100644
index 23c53be945b7..000000000000
diff --git a/arch/sh/include/cpu-sh5/cpu/registers.h b/arch/sh/include/cpu-sh5/cpu/registers.h
deleted file mode 100644
index 372c1e1978b3..000000000000
diff --git a/arch/sh/include/cpu-sh5/cpu/rtc.h b/arch/sh/include/cpu-sh5/cpu/rtc.h
deleted file mode 100644
index d7e25d435f4a..000000000000
diff --git a/arch/sh/include/uapi/asm/posix_types.h b/arch/sh/include/uapi/asm/posix_types.h
index 2644fdd444e6..adc998a64c76 100644
--- a/arch/sh/include/uapi/asm/posix_types.h
+++ b/arch/sh/include/uapi/asm/posix_types.h
@@ -1,8 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __KERNEL__
-# ifdef __SH5__
-#  include <asm/posix_types_64.h>
-# else
-#  include <asm/posix_types_32.h>
-# endif
-#endif /* __KERNEL__ */
+#include <asm/posix_types_32.h>
diff --git a/arch/sh/include/uapi/asm/posix_types_64.h b/arch/sh/include/uapi/asm/posix_types_64.h
deleted file mode 100644
index 3a9128d4aee3..000000000000
diff --git a/arch/sh/include/uapi/asm/ptrace.h b/arch/sh/include/uapi/asm/ptrace.h
index 4ec9c2b65fdb..5c88e46b7773 100644
--- a/arch/sh/include/uapi/asm/ptrace.h
+++ b/arch/sh/include/uapi/asm/ptrace.h
@@ -25,11 +25,6 @@
 #define PT_DATA_ADDR		248	/* &(struct user)->start_data */
 #define PT_TEXT_LEN		252
 
-#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
-#include <asm/ptrace_64.h>
-#else
 #include <asm/ptrace_32.h>
-#endif
-
 
 #endif /* _UAPI__ASM_SH_PTRACE_H */
diff --git a/arch/sh/include/uapi/asm/ptrace_64.h b/arch/sh/include/uapi/asm/ptrace_64.h
deleted file mode 100644
index a6f84eba5277..000000000000
diff --git a/arch/sh/include/uapi/asm/sigcontext.h b/arch/sh/include/uapi/asm/sigcontext.h
index d2b7e4f033c0..a9cc8bad0f36 100644
--- a/arch/sh/include/uapi/asm/sigcontext.h
+++ b/arch/sh/include/uapi/asm/sigcontext.h
@@ -5,18 +5,6 @@
 struct sigcontext {
 	unsigned long	oldmask;
 
-#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
-	/* CPU registers */
-	unsigned long long sc_regs[63];
-	unsigned long long sc_tregs[8];
-	unsigned long long sc_pc;
-	unsigned long long sc_sr;
-
-	/* FPU registers */
-	unsigned long long sc_fpregs[32];
-	unsigned int sc_fpscr;
-	unsigned int sc_fpvalid;
-#else
 	/* CPU registers */
 	unsigned long sc_regs[16];
 	unsigned long sc_pc;
@@ -32,7 +20,6 @@ struct sigcontext {
 	unsigned int sc_fpscr;
 	unsigned int sc_fpul;
 	unsigned int sc_ownedfp;
-#endif
 };
 
 #endif /* __ASM_SH_SIGCONTEXT_H */
diff --git a/arch/sh/include/uapi/asm/stat.h b/arch/sh/include/uapi/asm/stat.h
index 659b87c7c25a..b0ca755ea08d 100644
--- a/arch/sh/include/uapi/asm/stat.h
+++ b/arch/sh/include/uapi/asm/stat.h
@@ -16,66 +16,6 @@ struct __old_kernel_stat {
 	unsigned long  st_ctime;
 };
 
-#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
-struct stat {
-	unsigned short st_dev;
-	unsigned short __pad1;
-	unsigned long st_ino;
-	unsigned short st_mode;
-	unsigned short st_nlink;
-	unsigned short st_uid;
-	unsigned short st_gid;
-	unsigned short st_rdev;
-	unsigned short __pad2;
-	unsigned long  st_size;
-	unsigned long  st_blksize;
-	unsigned long  st_blocks;
-	unsigned long  st_atime;
-	unsigned long  st_atime_nsec;
-	unsigned long  st_mtime;
-	unsigned long  st_mtime_nsec;
-	unsigned long  st_ctime;
-	unsigned long  st_ctime_nsec;
-	unsigned long  __unused4;
-	unsigned long  __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1, hence the absolutely
- * insane amounts of padding around dev_t's.
- */
-struct stat64 {
-	unsigned short	st_dev;
-	unsigned char	__pad0[10];
-
-	unsigned long	st_ino;
-	unsigned int	st_mode;
-	unsigned int	st_nlink;
-
-	unsigned long	st_uid;
-	unsigned long	st_gid;
-
-	unsigned short	st_rdev;
-	unsigned char	__pad3[10];
-
-	long long	st_size;
-	unsigned long	st_blksize;
-
-	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
-	unsigned long	__pad4;		/* future possible st_blocks high bits */
-
-	unsigned long	st_atime;
-	unsigned long	st_atime_nsec;
-
-	unsigned long	st_mtime;
-	unsigned long	st_mtime_nsec;
-
-	unsigned long	st_ctime;
-	unsigned long	st_ctime_nsec;	/* will be high 32 bits of ctime someday */
-
-	unsigned long	__unused1;
-	unsigned long	__unused2;
-};
-#else
 struct stat {
 	unsigned long  st_dev;
 	unsigned long  st_ino;
@@ -134,6 +74,5 @@ struct stat64 {
 };
 
 #define STAT_HAVE_NSEC 1
-#endif
 
 #endif /* __ASM_SH_STAT_H */
diff --git a/arch/sh/include/uapi/asm/swab.h b/arch/sh/include/uapi/asm/swab.h
index f0b02152745c..c727d381a30a 100644
--- a/arch/sh/include/uapi/asm/swab.h
+++ b/arch/sh/include/uapi/asm/swab.h
@@ -13,14 +13,9 @@
 static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
 {
 	__asm__(
-#ifdef __SH5__
-		"byterev	%1, %0\n\t"
-		"shari		%0, 32, %0"
-#else
 		"swap.b		%1, %0\n\t"
 		"swap.w		%0, %0\n\t"
 		"swap.b		%0, %0"
-#endif
 		: "=r" (x)
 		: "r" (x));
 
@@ -31,12 +26,7 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
 static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
 {
 	__asm__(
-#ifdef __SH5__
-		"byterev	%1, %0\n\t"
-		"shari		%0, 32, %0"
-#else
 		"swap.b		%1, %0"
-#endif
 		: "=r" (x)
 		:  "r" (x));
 
diff --git a/arch/sh/include/uapi/asm/unistd.h b/arch/sh/include/uapi/asm/unistd.h
index 9e0b4e5e6da2..0f7c7772a2fb 100644
--- a/arch/sh/include/uapi/asm/unistd.h
+++ b/arch/sh/include/uapi/asm/unistd.h
@@ -1,8 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __KERNEL__
-# ifdef __SH5__
-#  include <asm/unistd_64.h>
-# else
-#  include <asm/unistd_32.h>
-# endif
-#endif
+#include <asm/unistd_32.h>
diff --git a/arch/sh/include/uapi/asm/unistd_64.h b/arch/sh/include/uapi/asm/unistd_64.h
deleted file mode 100644
index 75da54851f02..000000000000
diff --git a/arch/sh/kernel/Makefile b/arch/sh/kernel/Makefile
index 59673f8a3379..b0f5574b6228 100644
--- a/arch/sh/kernel/Makefile
+++ b/arch/sh/kernel/Makefile
@@ -3,7 +3,7 @@
 # Makefile for the Linux/SuperH kernel.
 #
 
-extra-y	:= head_$(BITS).o vmlinux.lds
+extra-y	:= head_32.o vmlinux.lds
 
 ifdef CONFIG_FUNCTION_TRACER
 # Do not profile debug and lowlevel utilities
@@ -13,26 +13,26 @@ endif
 CFLAGS_REMOVE_return_address.o = -pg
 
 obj-y	:= debugtraps.o dumpstack.o 		\
-	   idle.o io.o irq.o irq_$(BITS).o kdebugfs.o			\
+	   idle.o io.o irq.o irq_32.o kdebugfs.o			\
 	   machvec.o nmi_debug.o process.o				\
-	   process_$(BITS).o ptrace.o ptrace_$(BITS).o			\
+	   process_32.o ptrace.o ptrace_32.o				\
 	   reboot.o return_address.o					\
-	   setup.o signal_$(BITS).o sys_sh.o 				\
-	   syscalls_$(BITS).o time.o topology.o traps.o			\
-	   traps_$(BITS).o unwinder.o
+	   setup.o signal_32.o sys_sh.o 				\
+	   syscalls_32.o time.o topology.o traps.o			\
+	   traps_32.o unwinder.o
 
 ifndef CONFIG_GENERIC_IOMAP
 obj-y				+= iomap.o
 obj-$(CONFIG_HAS_IOPORT_MAP)	+= ioport.o
 endif
 
-obj-$(CONFIG_SUPERH32)		+= sys_sh32.o
+obj-y				+= sys_sh32.o
 obj-y				+= cpu/
 obj-$(CONFIG_VSYSCALL)		+= vsyscall/
 obj-$(CONFIG_SMP)		+= smp.o
 obj-$(CONFIG_SH_STANDARD_BIOS)	+= sh_bios.o
 obj-$(CONFIG_KGDB)		+= kgdb.o
-obj-$(CONFIG_MODULES)		+= sh_ksyms_$(BITS).o module.o
+obj-$(CONFIG_MODULES)		+= sh_ksyms_32.o module.o
 obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o
 obj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o
 obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
diff --git a/arch/sh/kernel/cpu/Makefile b/arch/sh/kernel/cpu/Makefile
index f7c22ea98b0f..46118236bf04 100644
--- a/arch/sh/kernel/cpu/Makefile
+++ b/arch/sh/kernel/cpu/Makefile
@@ -7,7 +7,6 @@ obj-$(CONFIG_CPU_SH2)		= sh2/
 obj-$(CONFIG_CPU_SH2A)		= sh2a/
 obj-$(CONFIG_CPU_SH3)		= sh3/
 obj-$(CONFIG_CPU_SH4)		= sh4/
-obj-$(CONFIG_CPU_SH5)		= sh5/
 
 # Special cases for family ancestry.
 
diff --git a/arch/sh/kernel/cpu/init.c b/arch/sh/kernel/cpu/init.c
index ce7291e12a30..1d008745877f 100644
--- a/arch/sh/kernel/cpu/init.c
+++ b/arch/sh/kernel/cpu/init.c
@@ -103,7 +103,7 @@ void __attribute__ ((weak)) l2_cache_init(void)
 /*
  * Generic first-level cache init
  */
-#if defined(CONFIG_SUPERH32) && !defined(CONFIG_CPU_J2)
+#if !defined(CONFIG_CPU_J2)
 static void cache_init(void)
 {
 	unsigned long ccr, flags;
diff --git a/arch/sh/kernel/cpu/irq/Makefile b/arch/sh/kernel/cpu/irq/Makefile
index 8b91cb96411b..e4578cde46ba 100644
--- a/arch/sh/kernel/cpu/irq/Makefile
+++ b/arch/sh/kernel/cpu/irq/Makefile
@@ -2,6 +2,5 @@
 #
 # Makefile for the Linux/SuperH CPU-specific IRQ handlers.
 #
-obj-$(CONFIG_SUPERH32)			+= imask.o
-obj-$(CONFIG_CPU_SH5)			+= intc-sh5.o
+obj-y					+= imask.o
 obj-$(CONFIG_CPU_HAS_IPR_IRQ)		+= ipr.o
diff --git a/arch/sh/kernel/cpu/irq/intc-sh5.c b/arch/sh/kernel/cpu/irq/intc-sh5.c
deleted file mode 100644
index 1b3050facda8..000000000000
diff --git a/arch/sh/kernel/cpu/proc.c b/arch/sh/kernel/cpu/proc.c
index 85961b4f9c69..a306bcd6b341 100644
--- a/arch/sh/kernel/cpu/proc.c
+++ b/arch/sh/kernel/cpu/proc.c
@@ -24,7 +24,6 @@ static const char *cpu_name[] = {
 	[CPU_SH7343]	= "SH7343",	[CPU_SH7785]	= "SH7785",
 	[CPU_SH7786]	= "SH7786",	[CPU_SH7757]	= "SH7757",
 	[CPU_SH7722]	= "SH7722",	[CPU_SHX3]	= "SH-X3",
-	[CPU_SH5_101]	= "SH5-101",	[CPU_SH5_103]	= "SH5-103",
 	[CPU_MXG]	= "MX-G",	[CPU_SH7723]	= "SH7723",
 	[CPU_SH7366]	= "SH7366",	[CPU_SH7724]	= "SH7724",
 	[CPU_SH7372]	= "SH7372",	[CPU_SH7734]	= "SH7734",
diff --git a/arch/sh/kernel/cpu/sh5/Makefile b/arch/sh/kernel/cpu/sh5/Makefile
deleted file mode 100644
index 97d23ec3005f..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/clock-sh5.c b/arch/sh/kernel/cpu/sh5/clock-sh5.c
deleted file mode 100644
index dee6be2c2344..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S
deleted file mode 100644
index 81c8b64b977f..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/fpu.c b/arch/sh/kernel/cpu/sh5/fpu.c
deleted file mode 100644
index 3966b5ee8e93..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/probe.c b/arch/sh/kernel/cpu/sh5/probe.c
deleted file mode 100644
index 947250188065..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/setup-sh5.c b/arch/sh/kernel/cpu/sh5/setup-sh5.c
deleted file mode 100644
index dc8476d67244..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/switchto.S b/arch/sh/kernel/cpu/sh5/switchto.S
deleted file mode 100644
index d1beff755632..000000000000
diff --git a/arch/sh/kernel/cpu/sh5/unwind.c b/arch/sh/kernel/cpu/sh5/unwind.c
deleted file mode 100644
index 3cb0cd9cea29..000000000000
diff --git a/arch/sh/kernel/head_64.S b/arch/sh/kernel/head_64.S
deleted file mode 100644
index 67685e1f00e1..000000000000
diff --git a/arch/sh/kernel/irq_64.c b/arch/sh/kernel/irq_64.c
deleted file mode 100644
index 7a1f50435e33..000000000000
diff --git a/arch/sh/kernel/module.c b/arch/sh/kernel/module.c
index bbc78d1d618e..b9cee98a754e 100644
--- a/arch/sh/kernel/module.c
+++ b/arch/sh/kernel/module.c
@@ -46,15 +46,6 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
 			+ ELF32_R_SYM(rel[i].r_info);
 		relocation = sym->st_value + rel[i].r_addend;
 
-#ifdef CONFIG_SUPERH64
-		/* For text addresses, bit2 of the st_other field indicates
-		 * whether the symbol is SHmedia (1) or SHcompact (0).  If
-		 * SHmedia, the LSB of the symbol needs to be asserted
-		 * for the CPU to be in SHmedia mode when it starts executing
-		 * the branch target. */
-		relocation |= !!(sym->st_other & 4);
-#endif
-
 		switch (ELF32_R_TYPE(rel[i].r_info)) {
 		case R_SH_NONE:
 			break;
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 4d1bfc848dd3..169832fcf21b 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -23,9 +23,7 @@ EXPORT_SYMBOL(__stack_chk_guard);
  */
 int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
 {
-#ifdef CONFIG_SUPERH32
 	unlazy_fpu(src, task_pt_regs(src));
-#endif
 	*dst = *src;
 
 	if (src->thread.xstate) {
diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c
deleted file mode 100644
index c2844a2e18cd..000000000000
diff --git a/arch/sh/kernel/ptrace_64.c b/arch/sh/kernel/ptrace_64.c
deleted file mode 100644
index 11085e48eaa6..000000000000
diff --git a/arch/sh/kernel/reboot.c b/arch/sh/kernel/reboot.c
index 11001a8a5fe0..5c33f036418b 100644
--- a/arch/sh/kernel/reboot.c
+++ b/arch/sh/kernel/reboot.c
@@ -4,9 +4,7 @@
 #include <linux/kernel.h>
 #include <linux/reboot.h>
 #include <linux/module.h>
-#ifdef CONFIG_SUPERH32
 #include <asm/watchdog.h>
-#endif
 #include <asm/addrspace.h>
 #include <asm/reboot.h>
 #include <asm/tlbflush.h>
@@ -15,13 +13,11 @@
 void (*pm_power_off)(void);
 EXPORT_SYMBOL(pm_power_off);
 
-#ifdef CONFIG_SUPERH32
 static void watchdog_trigger_immediate(void)
 {
 	sh_wdt_write_cnt(0xFF);
 	sh_wdt_write_csr(0xC2);
 }
-#endif
 
 static void native_machine_restart(char * __unused)
 {
@@ -33,10 +29,8 @@ static void native_machine_restart(char * __unused)
 	/* Address error with SR.BL=1 first. */
 	trigger_address_error();
 
-#ifdef CONFIG_SUPERH32
 	/* If that fails or is unsupported, go for the watchdog next. */
 	watchdog_trigger_immediate();
-#endif
 
 	/*
 	 * Give up and sleep.
diff --git a/arch/sh/kernel/sh_ksyms_64.c b/arch/sh/kernel/sh_ksyms_64.c
deleted file mode 100644
index 9de17065afb4..000000000000
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c
deleted file mode 100644
index b9aaa9266b34..000000000000
diff --git a/arch/sh/kernel/syscalls_64.S b/arch/sh/kernel/syscalls_64.S
deleted file mode 100644
index 1bcb86f0b728..000000000000
diff --git a/arch/sh/kernel/traps_64.c b/arch/sh/kernel/traps_64.c
deleted file mode 100644
index 37046f3a26d3..000000000000
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
index c60b19958c35..bde7a6c01aaf 100644
--- a/arch/sh/kernel/vmlinux.lds.S
+++ b/arch/sh/kernel/vmlinux.lds.S
@@ -3,14 +3,7 @@
  * ld script to make SuperH Linux kernel
  * Written by Niibe Yutaka and Paul Mundt
  */
-#ifdef CONFIG_SUPERH64
-#define LOAD_OFFSET	PAGE_OFFSET
-OUTPUT_ARCH(sh:sh5)
-#else
-#define LOAD_OFFSET	0
 OUTPUT_ARCH(sh)
-#endif
-
 #include <asm/thread_info.h>
 #include <asm/cache.h>
 #include <asm/vmlinux.lds.h>
@@ -28,14 +21,13 @@ SECTIONS
 
 	_text = .;		/* Text and read-only data */
 
-	.empty_zero_page : AT(ADDR(.empty_zero_page) - LOAD_OFFSET) {
+	.empty_zero_page : AT(ADDR(.empty_zero_page)) {
 		*(.empty_zero_page)
 	} = 0
 
-	.text : AT(ADDR(.text) - LOAD_OFFSET) {
+	.text : AT(ADDR(.text)) {
 		HEAD_TEXT
 		TEXT_TEXT
-		EXTRA_TEXT
 		SCHED_TEXT
 		CPUIDLE_TEXT
 		LOCK_TEXT
@@ -62,7 +54,7 @@ SECTIONS
 	INIT_DATA_SECTION(16)
 
 	. = ALIGN(4);
-	.machvec.init : AT(ADDR(.machvec.init) - LOAD_OFFSET) {
+	.machvec.init : AT(ADDR(.machvec.init)) {
 		__machvec_start = .;
 		*(.machvec.init)
 		__machvec_end = .;
@@ -74,8 +66,8 @@ SECTIONS
 	 * .exit.text is discarded at runtime, not link time, to deal with
 	 * references from __bug_table
 	 */
-	.exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { EXIT_TEXT }
-	.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { EXIT_DATA }
+	.exit.text : AT(ADDR(.exit.text)) { EXIT_TEXT }
+	.exit.data : AT(ADDR(.exit.data)) { EXIT_DATA }
 
 	. = ALIGN(PAGE_SIZE);
 	__init_end = .;
diff --git a/arch/sh/lib64/Makefile b/arch/sh/lib64/Makefile
deleted file mode 100644
index 69779ff741df..000000000000
diff --git a/arch/sh/lib64/copy_page.S b/arch/sh/lib64/copy_page.S
deleted file mode 100644
index 0ec6fca63b56..000000000000
diff --git a/arch/sh/lib64/copy_user_memcpy.S b/arch/sh/lib64/copy_user_memcpy.S
deleted file mode 100644
index 515f81b00202..000000000000
diff --git a/arch/sh/lib64/memcpy.S b/arch/sh/lib64/memcpy.S
deleted file mode 100644
index 231ea595b39a..000000000000
diff --git a/arch/sh/lib64/memset.S b/arch/sh/lib64/memset.S
deleted file mode 100644
index 453aa5f1d263..000000000000
diff --git a/arch/sh/lib64/panic.c b/arch/sh/lib64/panic.c
deleted file mode 100644
index 38c954e04f6a..000000000000
diff --git a/arch/sh/lib64/sdivsi3.S b/arch/sh/lib64/sdivsi3.S
deleted file mode 100644
index b422e2374430..000000000000
diff --git a/arch/sh/lib64/strcpy.S b/arch/sh/lib64/strcpy.S
deleted file mode 100644
index b61631e523d4..000000000000
diff --git a/arch/sh/lib64/strlen.S b/arch/sh/lib64/strlen.S
deleted file mode 100644
index c00b972f9999..000000000000
diff --git a/arch/sh/lib64/udelay.c b/arch/sh/lib64/udelay.c
deleted file mode 100644
index f215b063da70..000000000000
diff --git a/arch/sh/lib64/udivdi3.S b/arch/sh/lib64/udivdi3.S
deleted file mode 100644
index c032cb157589..000000000000
diff --git a/arch/sh/lib64/udivsi3.S b/arch/sh/lib64/udivsi3.S
deleted file mode 100644
index e4788fb4fe82..000000000000
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index 5c8a2ebfc720..6c39d24ad919 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -15,8 +15,7 @@ config MMU
 
 config PAGE_OFFSET
 	hex
-	default "0x80000000" if MMU && SUPERH32
-	default "0x20000000" if MMU && SUPERH64
+	default "0x80000000" if MMU
 	default "0x00000000"
 
 config FORCE_MAX_ZONEORDER
@@ -72,12 +71,11 @@ config MEMORY_SIZE
 
 config 29BIT
 	def_bool !32BIT
-	depends on SUPERH32
 	select UNCACHED_MAPPING
 
 config 32BIT
 	bool
-	default y if CPU_SH5 || !MMU
+	default !MMU
 
 config PMB
 	bool "Support 32-bit physical addressing through PMB"
@@ -152,7 +150,7 @@ config ARCH_MEMORY_PROBE
 
 config IOREMAP_FIXED
        def_bool y
-       depends on X2TLB || SUPERH64
+       depends on X2TLB
 
 config UNCACHED_MAPPING
 	bool
@@ -184,7 +182,7 @@ config PAGE_SIZE_16KB
 
 config PAGE_SIZE_64KB
 	bool "64kB"
-	depends on !MMU || CPU_SH4 || CPU_SH5
+	depends on !MMU || CPU_SH4
 	help
 	  This enables support for 64kB pages, possible on all SH-4
 	  CPUs and later.
@@ -216,10 +214,6 @@ config HUGETLB_PAGE_SIZE_64MB
 	bool "64MB"
 	depends on X2TLB
 
-config HUGETLB_PAGE_SIZE_512MB
-	bool "512MB"
-	depends on CPU_SH5
-
 endchoice
 
 config SCHED_MC
@@ -242,7 +236,7 @@ config SH7705_CACHE_32KB
 
 choice
 	prompt "Cache mode"
-	default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4 || CPU_SH5
+	default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4
 	default CACHE_WRITETHROUGH if (CPU_SH2 && !CPU_SH2A)
 
 config CACHE_WRITEBACK
diff --git a/arch/sh/mm/Makefile b/arch/sh/mm/Makefile
index 5051b38fd5b6..487da0ff03b3 100644
--- a/arch/sh/mm/Makefile
+++ b/arch/sh/mm/Makefile
@@ -10,15 +10,14 @@ cacheops-$(CONFIG_CPU_SUBTYPE_SH7619)	:= cache-sh2.o
 cacheops-$(CONFIG_CPU_SH2A)		:= cache-sh2a.o
 cacheops-$(CONFIG_CPU_SH3)		:= cache-sh3.o
 cacheops-$(CONFIG_CPU_SH4)		:= cache-sh4.o flush-sh4.o
-cacheops-$(CONFIG_CPU_SH5)		:= cache-sh5.o flush-sh4.o
 cacheops-$(CONFIG_SH7705_CACHE_32KB)	+= cache-sh7705.o
 cacheops-$(CONFIG_CPU_SHX3)		+= cache-shx3.o
 
 obj-y			+= $(cacheops-y)
 
 mmu-y			:= nommu.o extable_32.o
-mmu-$(CONFIG_MMU)	:= extable_$(BITS).o fault.o ioremap.o kmap.o \
-			   pgtable.o tlbex_$(BITS).o tlbflush_$(BITS).o
+mmu-$(CONFIG_MMU)	:= extable_32.o fault.o ioremap.o kmap.o \
+			   pgtable.o tlbex_32.o tlbflush_32.o
 
 obj-y			+= $(mmu-y)
 
@@ -31,7 +30,6 @@ ifdef CONFIG_MMU
 debugfs-$(CONFIG_CPU_SH4)	+= tlb-debugfs.o
 tlb-$(CONFIG_CPU_SH3)		:= tlb-sh3.o
 tlb-$(CONFIG_CPU_SH4)		:= tlb-sh4.o tlb-urb.o
-tlb-$(CONFIG_CPU_SH5)		:= tlb-sh5.o
 tlb-$(CONFIG_CPU_HAS_PTEAEX)	:= tlb-pteaex.o tlb-urb.o
 obj-y				+= $(tlb-y)
 endif
@@ -46,29 +44,4 @@ obj-$(CONFIG_HAVE_SRAM_POOL)	+= sram.o
 
 GCOV_PROFILE_pmb.o := n
 
-# Special flags for tlbex_64.o.  This puts restrictions on the number of
-# caller-save registers that the compiler can target when building this file.
-# This is required because the code is called from a context in entry.S where
-# very few registers have been saved in the exception handler (for speed
-# reasons).
-# The caller save registers that have been saved and which can be used are
-# r2,r3,r4,r5 : argument passing
-# r15, r18 : SP and LINK
-# tr0-4 : allow all caller-save TR's.  The compiler seems to be able to make
-#         use of them, so it's probably beneficial to performance to save them
-#         and have them available for it.
-#
-# The resources not listed below are callee save, i.e. the compiler is free to
-# use any of them and will spill them to the stack itself.
-
-CFLAGS_tlbex_64.o += -ffixed-r7 \
-	-ffixed-r8 -ffixed-r9 -ffixed-r10 -ffixed-r11 -ffixed-r12 \
-	-ffixed-r13 -ffixed-r14 -ffixed-r16 -ffixed-r17 -ffixed-r19 \
-	-ffixed-r20 -ffixed-r21 -ffixed-r22 -ffixed-r23 \
-	-ffixed-r24 -ffixed-r25 -ffixed-r26 -ffixed-r27 \
-	-ffixed-r36 -ffixed-r37 -ffixed-r38 -ffixed-r39 -ffixed-r40 \
-	-ffixed-r41 -ffixed-r42 -ffixed-r43  \
-	-ffixed-r60 -ffixed-r61 -ffixed-r62 \
-	-fomit-frame-pointer
-
 ccflags-y := -Werror
diff --git a/arch/sh/mm/cache-sh5.c b/arch/sh/mm/cache-sh5.c
deleted file mode 100644
index 445b5e69b73c..000000000000
diff --git a/arch/sh/mm/cache.c b/arch/sh/mm/cache.c
index 464f160a9576..3aef78ceb820 100644
--- a/arch/sh/mm/cache.c
+++ b/arch/sh/mm/cache.c
@@ -355,12 +355,6 @@ void __init cpu_cache_init(void)
 		}
 	}
 
-	if (boot_cpu_data.family == CPU_FAMILY_SH5) {
-		extern void __weak sh5_cache_init(void);
-
-		sh5_cache_init();
-	}
-
 skip:
 	emit_cache_params();
 }
diff --git a/arch/sh/mm/extable_64.c b/arch/sh/mm/extable_64.c
deleted file mode 100644
index 7a3b4d33d2e7..000000000000
diff --git a/arch/sh/mm/tlb-sh5.c b/arch/sh/mm/tlb-sh5.c
deleted file mode 100644
index e4bb2a8e0a69..000000000000
diff --git a/arch/sh/mm/tlbex_64.c b/arch/sh/mm/tlbex_64.c
deleted file mode 100644
index 8ff966dd0c74..000000000000
diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c
deleted file mode 100644
index bd0715d5dca4..000000000000
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index ec873f09c763..527957d9c6ce 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1516,7 +1516,7 @@ config RTC_DRV_GENERIC
 	tristate "Generic RTC support"
 	# Please consider writing a new RTC driver instead of using the generic
 	# RTC abstraction
-	depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST
+	depends on PARISC || M68K || PPC || SUPERH || COMPILE_TEST
 	help
 	  Say Y or M here to enable RTC support on systems using the generic
 	  RTC abstraction. If you do not know what you are doing, you should
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 62dc4f577ba1..fb6efe5210e2 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -39,7 +39,7 @@ config ARCH_BINFMT_ELF_STATE
 config BINFMT_ELF_FDPIC
 	bool "Kernel support for FDPIC ELF binaries"
 	default y if !BINFMT_ELF
-	depends on (ARM || (SUPERH32 && !MMU) || C6X)
+	depends on (ARM || (SUPERH && !MMU) || C6X)
 	select ELFCORE
 	help
 	  ELF FDPIC binaries are based on ELF, but allow the individual load
diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
index a07668a5c36b..720f2e6b176a 100755
--- a/scripts/headers_install.sh
+++ b/scripts/headers_install.sh
@@ -81,9 +81,6 @@ arch/ia64/include/uapi/asm/cmpxchg.h:CONFIG_IA64_DEBUG_CMPXCHG
 arch/m68k/include/uapi/asm/ptrace.h:CONFIG_COLDFIRE
 arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_NO
 arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT
-arch/sh/include/uapi/asm/ptrace.h:CONFIG_CPU_SH5
-arch/sh/include/uapi/asm/sigcontext.h:CONFIG_CPU_SH5
-arch/sh/include/uapi/asm/stat.h:CONFIG_CPU_SH5
 arch/x86/include/uapi/asm/auxvec.h:CONFIG_IA32_EMULATION
 arch/x86/include/uapi/asm/auxvec.h:CONFIG_X86_64
 arch/x86/include/uapi/asm/mman.h:CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
diff --git a/tools/arch/sh/include/asm/barrier.h b/tools/arch/sh/include/asm/barrier.h
index bde5221af282..7eaea27cdd67 100644
--- a/tools/arch/sh/include/asm/barrier.h
+++ b/tools/arch/sh/include/asm/barrier.h
@@ -22,7 +22,7 @@
  * Historically we have only done this type of barrier for the MMUCR, but
  * it's also necessary for the CCR, so we make it generic here instead.
  */
-#if defined(__SH4A__) || defined(__SH5__)
+#if defined(__SH4A__)
 #define mb()		__asm__ __volatile__ ("synco": : :"memory")
 #define rmb()		mb()
 #define wmb()		mb()
-- 
2.26.0


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

* Re: [GIT PULL] sh: remove sh5 support
  2020-04-24 22:19 [GIT PULL] sh: remove sh5 support Arnd Bergmann
  2020-04-24 22:19 ` [PATCH 1/1] " Arnd Bergmann
@ 2020-05-07 14:35 ` Christoph Hellwig
  2020-05-28  5:46   ` Christoph Hellwig
  1 sibling, 1 reply; 35+ messages in thread
From: Christoph Hellwig @ 2020-05-07 14:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-sh, ysato, dalias, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven

Any progress on this?  I plan to resend the sh dma-mapping I've been
trying to get upstream for a year again, and they would conflict,
so I could look into rebasing them first.

On Sat, Apr 25, 2020 at 12:19:47AM +0200, Arnd Bergmann wrote:
> The following changes since commit
> ae83d0b416db002fe95601e7f97f64b59514d936:
> 
>   Linux 5.7-rc2 (2020-04-19 14:35:30 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground.git
> tags/sh5-remove
> 
> for you to fetch changes up to 29e36fbee3be4c13ff6881a275c86d5f68acfa23:
> 
>   sh: remove sh5 support (2020-04-24 22:20:55 +0200)
> 
> ----------------------------------------------------------------
> sh: remove sh5 support
> 
> At long last, this is the removal of the 64-bit sh5 port
> that never went into production.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> ----------------------------------------------------------------
> 
> v2: I should have fixed all the missing changes that Geert pointed out,
>     this time sending it as a pull request as the removal patch is
>     too big for the mailing lists, and a 'git format-patch -D' patch
>     is unreliable
> 
> Arnd Bergmann (1):
>   sh: remove sh5 support
> 
>  arch/sh/Kconfig                           |   62 +-
>  arch/sh/Kconfig.cpu                       |    9 -
>  arch/sh/Kconfig.debug                     |   13 +-
>  arch/sh/Makefile                          |   29 +-
>  arch/sh/boot/compressed/Makefile          |   12 +-
>  arch/sh/boot/compressed/misc.c            |    8 -
>  arch/sh/drivers/pci/Makefile              |    1 -
>  arch/sh/drivers/pci/ops-sh5.c             |   65 -
>  arch/sh/drivers/pci/pci-sh5.c             |  217 ---
>  arch/sh/drivers/pci/pci-sh5.h             |  108 --
>  arch/sh/include/asm/barrier.h             |    4 +-
>  arch/sh/include/asm/bitops.h              |   26 -
>  arch/sh/include/asm/bl_bit.h              |   11 +-
>  arch/sh/include/asm/bl_bit_64.h           |   37 -
>  arch/sh/include/asm/bugs.h                |    4 -
>  arch/sh/include/asm/cache_insns.h         |   12 +-
>  arch/sh/include/asm/cache_insns_64.h      |   20 -
>  arch/sh/include/asm/checksum.h            |    6 +-
>  arch/sh/include/asm/elf.h                 |   23 -
>  arch/sh/include/asm/extable.h             |    4 -
>  arch/sh/include/asm/fixmap.h              |    4 -
>  arch/sh/include/asm/io.h                  |    4 -
>  arch/sh/include/asm/irq.h                 |    3 -
>  arch/sh/include/asm/mmu_context.h         |   12 -
>  arch/sh/include/asm/mmu_context_64.h      |   75 -
>  arch/sh/include/asm/module.h              |    4 -
>  arch/sh/include/asm/page.h                |   21 +-
>  arch/sh/include/asm/pgtable.h             |   17 -
>  arch/sh/include/asm/pgtable_64.h          |  307 ----
>  arch/sh/include/asm/posix_types.h         |    6 +-
>  arch/sh/include/asm/processor.h           |   14 +-
>  arch/sh/include/asm/processor_64.h        |  212 ---
>  arch/sh/include/asm/ptrace_64.h           |   14 -
>  arch/sh/include/asm/string.h              |    6 +-
>  arch/sh/include/asm/string_64.h           |   21 -
>  arch/sh/include/asm/switch_to.h           |   11 +-
>  arch/sh/include/asm/switch_to_64.h        |   32 -
>  arch/sh/include/asm/syscall.h             |    6 +-
>  arch/sh/include/asm/syscall_64.h          |   75 -
>  arch/sh/include/asm/syscalls.h            |    9 +-
>  arch/sh/include/asm/syscalls_64.h         |   18 -
>  arch/sh/include/asm/thread_info.h         |    4 +-
>  arch/sh/include/asm/tlb.h                 |    6 +-
>  arch/sh/include/asm/tlb_64.h              |   68 -
>  arch/sh/include/asm/traps.h               |    4 -
>  arch/sh/include/asm/traps_64.h            |   35 -
>  arch/sh/include/asm/types.h               |    5 -
>  arch/sh/include/asm/uaccess.h             |    4 -
>  arch/sh/include/asm/uaccess_64.h          |   85 -
>  arch/sh/include/asm/unistd.h              |    6 +-
>  arch/sh/include/asm/user.h                |    7 -
>  arch/sh/include/asm/vmlinux.lds.h         |    8 -
>  arch/sh/include/cpu-sh5/cpu/addrspace.h   |   12 -
>  arch/sh/include/cpu-sh5/cpu/cache.h       |   94 -
>  arch/sh/include/cpu-sh5/cpu/irq.h         |  113 --
>  arch/sh/include/cpu-sh5/cpu/mmu_context.h |   22 -
>  arch/sh/include/cpu-sh5/cpu/registers.h   |  103 --
>  arch/sh/include/cpu-sh5/cpu/rtc.h         |    9 -
>  arch/sh/include/uapi/asm/posix_types.h    |    8 +-
>  arch/sh/include/uapi/asm/posix_types_64.h |   29 -
>  arch/sh/include/uapi/asm/ptrace.h         |    5 -
>  arch/sh/include/uapi/asm/ptrace_64.h      |   15 -
>  arch/sh/include/uapi/asm/sigcontext.h     |   13 -
>  arch/sh/include/uapi/asm/stat.h           |   61 -
>  arch/sh/include/uapi/asm/swab.h           |   10 -
>  arch/sh/include/uapi/asm/unistd.h         |    8 +-
>  arch/sh/include/uapi/asm/unistd_64.h      |  423 -----
>  arch/sh/kernel/Makefile                   |   16 +-
>  arch/sh/kernel/cpu/Makefile               |    1 -
>  arch/sh/kernel/cpu/init.c                 |    2 +-
>  arch/sh/kernel/cpu/irq/Makefile           |    3 +-
>  arch/sh/kernel/cpu/irq/intc-sh5.c         |  194 --
>  arch/sh/kernel/cpu/proc.c                 |    1 -
>  arch/sh/kernel/cpu/sh5/Makefile           |   16 -
>  arch/sh/kernel/cpu/sh5/clock-sh5.c        |   76 -
>  arch/sh/kernel/cpu/sh5/entry.S            | 2000 ---------------------
>  arch/sh/kernel/cpu/sh5/fpu.c              |  106 --
>  arch/sh/kernel/cpu/sh5/probe.c            |   72 -
>  arch/sh/kernel/cpu/sh5/setup-sh5.c        |  121 --
>  arch/sh/kernel/cpu/sh5/switchto.S         |  195 --
>  arch/sh/kernel/cpu/sh5/unwind.c           |  342 ----
>  arch/sh/kernel/head_64.S                  |  346 ----
>  arch/sh/kernel/irq_64.c                   |   48 -
>  arch/sh/kernel/module.c                   |    9 -
>  arch/sh/kernel/process.c                  |    2 -
>  arch/sh/kernel/process_64.c               |  461 -----
>  arch/sh/kernel/ptrace_64.c                |  576 ------
>  arch/sh/kernel/reboot.c                   |    6 -
>  arch/sh/kernel/sh_ksyms_64.c              |   51 -
>  arch/sh/kernel/signal_64.c                |  567 ------
>  arch/sh/kernel/syscalls_64.S              |  419 -----
>  arch/sh/kernel/traps_64.c                 |  814 ---------
>  arch/sh/kernel/vmlinux.lds.S              |   18 +-
>  arch/sh/lib64/Makefile                    |   17 -
>  arch/sh/lib64/copy_page.S                 |   89 -
>  arch/sh/lib64/copy_user_memcpy.S          |  218 ---
>  arch/sh/lib64/memcpy.S                    |  202 ---
>  arch/sh/lib64/memset.S                    |   92 -
>  arch/sh/lib64/panic.c                     |   15 -
>  arch/sh/lib64/sdivsi3.S                   |  136 --
>  arch/sh/lib64/strcpy.S                    |   98 -
>  arch/sh/lib64/strlen.S                    |   34 -
>  arch/sh/lib64/udelay.c                    |   49 -
>  arch/sh/lib64/udivdi3.S                   |  121 --
>  arch/sh/lib64/udivsi3.S                   |   60 -
>  arch/sh/mm/Kconfig                        |   16 +-
>  arch/sh/mm/Makefile                       |   31 +-
>  arch/sh/mm/cache-sh5.c                    |  621 -------
>  arch/sh/mm/cache.c                        |    6 -
>  arch/sh/mm/extable_64.c                   |   84 -
>  arch/sh/mm/tlb-sh5.c                      |  224 ---
>  arch/sh/mm/tlbex_64.c                     |  166 --
>  arch/sh/mm/tlbflush_64.c                  |  172 --
>  drivers/rtc/Kconfig                       |    2 +-
>  fs/Kconfig.binfmt                         |    2 +-
>  scripts/headers_install.sh                |    3 -
>  tools/arch/sh/include/asm/barrier.h       |    2 +-
>  117 files changed, 67 insertions(+), 11554 deletions(-)
>  delete mode 100644 arch/sh/drivers/pci/ops-sh5.c
>  delete mode 100644 arch/sh/drivers/pci/pci-sh5.c
>  delete mode 100644 arch/sh/drivers/pci/pci-sh5.h
>  delete mode 100644 arch/sh/include/asm/bl_bit_64.h
>  delete mode 100644 arch/sh/include/asm/cache_insns_64.h
>  delete mode 100644 arch/sh/include/asm/mmu_context_64.h
>  delete mode 100644 arch/sh/include/asm/pgtable_64.h
>  delete mode 100644 arch/sh/include/asm/processor_64.h
>  delete mode 100644 arch/sh/include/asm/ptrace_64.h
>  delete mode 100644 arch/sh/include/asm/string_64.h
>  delete mode 100644 arch/sh/include/asm/switch_to_64.h
>  delete mode 100644 arch/sh/include/asm/syscall_64.h
>  delete mode 100644 arch/sh/include/asm/syscalls_64.h
>  delete mode 100644 arch/sh/include/asm/tlb_64.h
>  delete mode 100644 arch/sh/include/asm/traps_64.h
>  delete mode 100644 arch/sh/include/asm/uaccess_64.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/addrspace.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/cache.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/irq.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/mmu_context.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/registers.h
>  delete mode 100644 arch/sh/include/cpu-sh5/cpu/rtc.h
>  delete mode 100644 arch/sh/include/uapi/asm/posix_types_64.h
>  delete mode 100644 arch/sh/include/uapi/asm/ptrace_64.h
>  delete mode 100644 arch/sh/include/uapi/asm/unistd_64.h
>  delete mode 100644 arch/sh/kernel/cpu/irq/intc-sh5.c
>  delete mode 100644 arch/sh/kernel/cpu/sh5/Makefile
>  delete mode 100644 arch/sh/kernel/cpu/sh5/clock-sh5.c
>  delete mode 100644 arch/sh/kernel/cpu/sh5/entry.S
>  delete mode 100644 arch/sh/kernel/cpu/sh5/fpu.c
>  delete mode 100644 arch/sh/kernel/cpu/sh5/probe.c
>  delete mode 100644 arch/sh/kernel/cpu/sh5/setup-sh5.c
>  delete mode 100644 arch/sh/kernel/cpu/sh5/switchto.S
>  delete mode 100644 arch/sh/kernel/cpu/sh5/unwind.c
>  delete mode 100644 arch/sh/kernel/head_64.S
>  delete mode 100644 arch/sh/kernel/irq_64.c
>  delete mode 100644 arch/sh/kernel/process_64.c
>  delete mode 100644 arch/sh/kernel/ptrace_64.c
>  delete mode 100644 arch/sh/kernel/sh_ksyms_64.c
>  delete mode 100644 arch/sh/kernel/signal_64.c
>  delete mode 100644 arch/sh/kernel/syscalls_64.S
>  delete mode 100644 arch/sh/kernel/traps_64.c
>  delete mode 100644 arch/sh/lib64/Makefile
>  delete mode 100644 arch/sh/lib64/copy_page.S
>  delete mode 100644 arch/sh/lib64/copy_user_memcpy.S
>  delete mode 100644 arch/sh/lib64/memcpy.S
>  delete mode 100644 arch/sh/lib64/memset.S
>  delete mode 100644 arch/sh/lib64/panic.c
>  delete mode 100644 arch/sh/lib64/sdivsi3.S
>  delete mode 100644 arch/sh/lib64/strcpy.S
>  delete mode 100644 arch/sh/lib64/strlen.S
>  delete mode 100644 arch/sh/lib64/udelay.c
>  delete mode 100644 arch/sh/lib64/udivdi3.S
>  delete mode 100644 arch/sh/lib64/udivsi3.S
>  delete mode 100644 arch/sh/mm/cache-sh5.c
>  delete mode 100644 arch/sh/mm/extable_64.c
>  delete mode 100644 arch/sh/mm/tlb-sh5.c
>  delete mode 100644 arch/sh/mm/tlbex_64.c
>  delete mode 100644 arch/sh/mm/tlbflush_64.c
> 
> -- 
> 2.26.0
> 
---end quoted text---

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-07 14:35 ` [GIT PULL] " Christoph Hellwig
@ 2020-05-28  5:46   ` Christoph Hellwig
  2020-05-28  5:55     ` John Paul Adrian Glaubitz
  2020-05-28 16:14     ` Rich Felker
  0 siblings, 2 replies; 35+ messages in thread
From: Christoph Hellwig @ 2020-05-28  5:46 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-sh, ysato, dalias, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

[adding Linus]

On Thu, May 07, 2020 at 07:35:52AM -0700, Christoph Hellwig wrote:
> Any progress on this?  I plan to resend the sh dma-mapping I've been
> trying to get upstream for a year again, and they would conflict,
> so I could look into rebasing them first.

So for years now it has been close to and in the end impossible to
provoke sh maintainer action.  At the same point hardware is pretty much
long gone for the real commercial variants, and never took off for the
open hardware nommu variant.

Linus, would you ok with a 5.8 pull request to just kill off arch/sh/?

> 
> On Sat, Apr 25, 2020 at 12:19:47AM +0200, Arnd Bergmann wrote:
> > The following changes since commit
> > ae83d0b416db002fe95601e7f97f64b59514d936:
> > 
> >   Linux 5.7-rc2 (2020-04-19 14:35:30 -0700)
> > 
> > are available in the Git repository at:
> > 
> >   git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground.git
> > tags/sh5-remove
> > 
> > for you to fetch changes up to 29e36fbee3be4c13ff6881a275c86d5f68acfa23:
> > 
> >   sh: remove sh5 support (2020-04-24 22:20:55 +0200)
> > 
> > ----------------------------------------------------------------
> > sh: remove sh5 support
> > 
> > At long last, this is the removal of the 64-bit sh5 port
> > that never went into production.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > 
> > ----------------------------------------------------------------
> > 
> > v2: I should have fixed all the missing changes that Geert pointed out,
> >     this time sending it as a pull request as the removal patch is
> >     too big for the mailing lists, and a 'git format-patch -D' patch
> >     is unreliable
> > 
> > Arnd Bergmann (1):
> >   sh: remove sh5 support
> > 
> >  arch/sh/Kconfig                           |   62 +-
> >  arch/sh/Kconfig.cpu                       |    9 -
> >  arch/sh/Kconfig.debug                     |   13 +-
> >  arch/sh/Makefile                          |   29 +-
> >  arch/sh/boot/compressed/Makefile          |   12 +-
> >  arch/sh/boot/compressed/misc.c            |    8 -
> >  arch/sh/drivers/pci/Makefile              |    1 -
> >  arch/sh/drivers/pci/ops-sh5.c             |   65 -
> >  arch/sh/drivers/pci/pci-sh5.c             |  217 ---
> >  arch/sh/drivers/pci/pci-sh5.h             |  108 --
> >  arch/sh/include/asm/barrier.h             |    4 +-
> >  arch/sh/include/asm/bitops.h              |   26 -
> >  arch/sh/include/asm/bl_bit.h              |   11 +-
> >  arch/sh/include/asm/bl_bit_64.h           |   37 -
> >  arch/sh/include/asm/bugs.h                |    4 -
> >  arch/sh/include/asm/cache_insns.h         |   12 +-
> >  arch/sh/include/asm/cache_insns_64.h      |   20 -
> >  arch/sh/include/asm/checksum.h            |    6 +-
> >  arch/sh/include/asm/elf.h                 |   23 -
> >  arch/sh/include/asm/extable.h             |    4 -
> >  arch/sh/include/asm/fixmap.h              |    4 -
> >  arch/sh/include/asm/io.h                  |    4 -
> >  arch/sh/include/asm/irq.h                 |    3 -
> >  arch/sh/include/asm/mmu_context.h         |   12 -
> >  arch/sh/include/asm/mmu_context_64.h      |   75 -
> >  arch/sh/include/asm/module.h              |    4 -
> >  arch/sh/include/asm/page.h                |   21 +-
> >  arch/sh/include/asm/pgtable.h             |   17 -
> >  arch/sh/include/asm/pgtable_64.h          |  307 ----
> >  arch/sh/include/asm/posix_types.h         |    6 +-
> >  arch/sh/include/asm/processor.h           |   14 +-
> >  arch/sh/include/asm/processor_64.h        |  212 ---
> >  arch/sh/include/asm/ptrace_64.h           |   14 -
> >  arch/sh/include/asm/string.h              |    6 +-
> >  arch/sh/include/asm/string_64.h           |   21 -
> >  arch/sh/include/asm/switch_to.h           |   11 +-
> >  arch/sh/include/asm/switch_to_64.h        |   32 -
> >  arch/sh/include/asm/syscall.h             |    6 +-
> >  arch/sh/include/asm/syscall_64.h          |   75 -
> >  arch/sh/include/asm/syscalls.h            |    9 +-
> >  arch/sh/include/asm/syscalls_64.h         |   18 -
> >  arch/sh/include/asm/thread_info.h         |    4 +-
> >  arch/sh/include/asm/tlb.h                 |    6 +-
> >  arch/sh/include/asm/tlb_64.h              |   68 -
> >  arch/sh/include/asm/traps.h               |    4 -
> >  arch/sh/include/asm/traps_64.h            |   35 -
> >  arch/sh/include/asm/types.h               |    5 -
> >  arch/sh/include/asm/uaccess.h             |    4 -
> >  arch/sh/include/asm/uaccess_64.h          |   85 -
> >  arch/sh/include/asm/unistd.h              |    6 +-
> >  arch/sh/include/asm/user.h                |    7 -
> >  arch/sh/include/asm/vmlinux.lds.h         |    8 -
> >  arch/sh/include/cpu-sh5/cpu/addrspace.h   |   12 -
> >  arch/sh/include/cpu-sh5/cpu/cache.h       |   94 -
> >  arch/sh/include/cpu-sh5/cpu/irq.h         |  113 --
> >  arch/sh/include/cpu-sh5/cpu/mmu_context.h |   22 -
> >  arch/sh/include/cpu-sh5/cpu/registers.h   |  103 --
> >  arch/sh/include/cpu-sh5/cpu/rtc.h         |    9 -
> >  arch/sh/include/uapi/asm/posix_types.h    |    8 +-
> >  arch/sh/include/uapi/asm/posix_types_64.h |   29 -
> >  arch/sh/include/uapi/asm/ptrace.h         |    5 -
> >  arch/sh/include/uapi/asm/ptrace_64.h      |   15 -
> >  arch/sh/include/uapi/asm/sigcontext.h     |   13 -
> >  arch/sh/include/uapi/asm/stat.h           |   61 -
> >  arch/sh/include/uapi/asm/swab.h           |   10 -
> >  arch/sh/include/uapi/asm/unistd.h         |    8 +-
> >  arch/sh/include/uapi/asm/unistd_64.h      |  423 -----
> >  arch/sh/kernel/Makefile                   |   16 +-
> >  arch/sh/kernel/cpu/Makefile               |    1 -
> >  arch/sh/kernel/cpu/init.c                 |    2 +-
> >  arch/sh/kernel/cpu/irq/Makefile           |    3 +-
> >  arch/sh/kernel/cpu/irq/intc-sh5.c         |  194 --
> >  arch/sh/kernel/cpu/proc.c                 |    1 -
> >  arch/sh/kernel/cpu/sh5/Makefile           |   16 -
> >  arch/sh/kernel/cpu/sh5/clock-sh5.c        |   76 -
> >  arch/sh/kernel/cpu/sh5/entry.S            | 2000 ---------------------
> >  arch/sh/kernel/cpu/sh5/fpu.c              |  106 --
> >  arch/sh/kernel/cpu/sh5/probe.c            |   72 -
> >  arch/sh/kernel/cpu/sh5/setup-sh5.c        |  121 --
> >  arch/sh/kernel/cpu/sh5/switchto.S         |  195 --
> >  arch/sh/kernel/cpu/sh5/unwind.c           |  342 ----
> >  arch/sh/kernel/head_64.S                  |  346 ----
> >  arch/sh/kernel/irq_64.c                   |   48 -
> >  arch/sh/kernel/module.c                   |    9 -
> >  arch/sh/kernel/process.c                  |    2 -
> >  arch/sh/kernel/process_64.c               |  461 -----
> >  arch/sh/kernel/ptrace_64.c                |  576 ------
> >  arch/sh/kernel/reboot.c                   |    6 -
> >  arch/sh/kernel/sh_ksyms_64.c              |   51 -
> >  arch/sh/kernel/signal_64.c                |  567 ------
> >  arch/sh/kernel/syscalls_64.S              |  419 -----
> >  arch/sh/kernel/traps_64.c                 |  814 ---------
> >  arch/sh/kernel/vmlinux.lds.S              |   18 +-
> >  arch/sh/lib64/Makefile                    |   17 -
> >  arch/sh/lib64/copy_page.S                 |   89 -
> >  arch/sh/lib64/copy_user_memcpy.S          |  218 ---
> >  arch/sh/lib64/memcpy.S                    |  202 ---
> >  arch/sh/lib64/memset.S                    |   92 -
> >  arch/sh/lib64/panic.c                     |   15 -
> >  arch/sh/lib64/sdivsi3.S                   |  136 --
> >  arch/sh/lib64/strcpy.S                    |   98 -
> >  arch/sh/lib64/strlen.S                    |   34 -
> >  arch/sh/lib64/udelay.c                    |   49 -
> >  arch/sh/lib64/udivdi3.S                   |  121 --
> >  arch/sh/lib64/udivsi3.S                   |   60 -
> >  arch/sh/mm/Kconfig                        |   16 +-
> >  arch/sh/mm/Makefile                       |   31 +-
> >  arch/sh/mm/cache-sh5.c                    |  621 -------
> >  arch/sh/mm/cache.c                        |    6 -
> >  arch/sh/mm/extable_64.c                   |   84 -
> >  arch/sh/mm/tlb-sh5.c                      |  224 ---
> >  arch/sh/mm/tlbex_64.c                     |  166 --
> >  arch/sh/mm/tlbflush_64.c                  |  172 --
> >  drivers/rtc/Kconfig                       |    2 +-
> >  fs/Kconfig.binfmt                         |    2 +-
> >  scripts/headers_install.sh                |    3 -
> >  tools/arch/sh/include/asm/barrier.h       |    2 +-
> >  117 files changed, 67 insertions(+), 11554 deletions(-)
> >  delete mode 100644 arch/sh/drivers/pci/ops-sh5.c
> >  delete mode 100644 arch/sh/drivers/pci/pci-sh5.c
> >  delete mode 100644 arch/sh/drivers/pci/pci-sh5.h
> >  delete mode 100644 arch/sh/include/asm/bl_bit_64.h
> >  delete mode 100644 arch/sh/include/asm/cache_insns_64.h
> >  delete mode 100644 arch/sh/include/asm/mmu_context_64.h
> >  delete mode 100644 arch/sh/include/asm/pgtable_64.h
> >  delete mode 100644 arch/sh/include/asm/processor_64.h
> >  delete mode 100644 arch/sh/include/asm/ptrace_64.h
> >  delete mode 100644 arch/sh/include/asm/string_64.h
> >  delete mode 100644 arch/sh/include/asm/switch_to_64.h
> >  delete mode 100644 arch/sh/include/asm/syscall_64.h
> >  delete mode 100644 arch/sh/include/asm/syscalls_64.h
> >  delete mode 100644 arch/sh/include/asm/tlb_64.h
> >  delete mode 100644 arch/sh/include/asm/traps_64.h
> >  delete mode 100644 arch/sh/include/asm/uaccess_64.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/addrspace.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/cache.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/irq.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/mmu_context.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/registers.h
> >  delete mode 100644 arch/sh/include/cpu-sh5/cpu/rtc.h
> >  delete mode 100644 arch/sh/include/uapi/asm/posix_types_64.h
> >  delete mode 100644 arch/sh/include/uapi/asm/ptrace_64.h
> >  delete mode 100644 arch/sh/include/uapi/asm/unistd_64.h
> >  delete mode 100644 arch/sh/kernel/cpu/irq/intc-sh5.c
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/Makefile
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/clock-sh5.c
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/entry.S
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/fpu.c
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/probe.c
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/setup-sh5.c
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/switchto.S
> >  delete mode 100644 arch/sh/kernel/cpu/sh5/unwind.c
> >  delete mode 100644 arch/sh/kernel/head_64.S
> >  delete mode 100644 arch/sh/kernel/irq_64.c
> >  delete mode 100644 arch/sh/kernel/process_64.c
> >  delete mode 100644 arch/sh/kernel/ptrace_64.c
> >  delete mode 100644 arch/sh/kernel/sh_ksyms_64.c
> >  delete mode 100644 arch/sh/kernel/signal_64.c
> >  delete mode 100644 arch/sh/kernel/syscalls_64.S
> >  delete mode 100644 arch/sh/kernel/traps_64.c
> >  delete mode 100644 arch/sh/lib64/Makefile
> >  delete mode 100644 arch/sh/lib64/copy_page.S
> >  delete mode 100644 arch/sh/lib64/copy_user_memcpy.S
> >  delete mode 100644 arch/sh/lib64/memcpy.S
> >  delete mode 100644 arch/sh/lib64/memset.S
> >  delete mode 100644 arch/sh/lib64/panic.c
> >  delete mode 100644 arch/sh/lib64/sdivsi3.S
> >  delete mode 100644 arch/sh/lib64/strcpy.S
> >  delete mode 100644 arch/sh/lib64/strlen.S
> >  delete mode 100644 arch/sh/lib64/udelay.c
> >  delete mode 100644 arch/sh/lib64/udivdi3.S
> >  delete mode 100644 arch/sh/lib64/udivsi3.S
> >  delete mode 100644 arch/sh/mm/cache-sh5.c
> >  delete mode 100644 arch/sh/mm/extable_64.c
> >  delete mode 100644 arch/sh/mm/tlb-sh5.c
> >  delete mode 100644 arch/sh/mm/tlbex_64.c
> >  delete mode 100644 arch/sh/mm/tlbflush_64.c
> > 
> > -- 
> > 2.26.0
> > 
> ---end quoted text---
---end quoted text---

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28  5:46   ` Christoph Hellwig
@ 2020-05-28  5:55     ` John Paul Adrian Glaubitz
  2020-05-28  9:40       ` Rob Landley
  2020-05-28 16:14     ` Rich Felker
  1 sibling, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-05-28  5:55 UTC (permalink / raw)
  To: Christoph Hellwig, Arnd Bergmann
  Cc: linux-sh, ysato, dalias, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On 5/28/20 7:46 AM, Christoph Hellwig wrote:
> [adding Linus]
> 
> On Thu, May 07, 2020 at 07:35:52AM -0700, Christoph Hellwig wrote:
>> Any progress on this?  I plan to resend the sh dma-mapping I've been
>> trying to get upstream for a year again, and they would conflict,
>> so I could look into rebasing them first.
> 
> So for years now it has been close to and in the end impossible to
> provoke sh maintainer action.  At the same point hardware is pretty much
> long gone for the real commercial variants, and never took off for the
> open hardware nommu variant.
> 
> Linus, would you ok with a 5.8 pull request to just kill off arch/sh/?

We're maintaining SH in Debian so I'm interested in keeping arch/sh, but
I'm also let down that SH maintainers aren't that active at the moment.

I do know that Yoshinori Sato has a tree where he takes patches and sends
PRs from time to time, but I have no idea what is going on.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28  5:55     ` John Paul Adrian Glaubitz
@ 2020-05-28  9:40       ` Rob Landley
  0 siblings, 0 replies; 35+ messages in thread
From: Rob Landley @ 2020-05-28  9:40 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, Christoph Hellwig, Arnd Bergmann
  Cc: linux-sh, ysato, dalias, linux-kernel, viro, Geert Uytterhoeven,
	Linus Torvalds

On 5/28/20 12:55 AM, John Paul Adrian Glaubitz wrote:
> On 5/28/20 7:46 AM, Christoph Hellwig wrote:
>> [adding Linus]
>>
>> On Thu, May 07, 2020 at 07:35:52AM -0700, Christoph Hellwig wrote:
>>> Any progress on this?  I plan to resend the sh dma-mapping I've been
>>> trying to get upstream for a year again, and they would conflict,
>>> so I could look into rebasing them first.
>>
>> So for years now it has been close to and in the end impossible to
>> provoke sh maintainer action.  At the same point hardware is pretty much
>> long gone for the real commercial variants, and never took off for the
>> open hardware nommu variant.
>>
>> Linus, would you ok with a 5.8 pull request to just kill off arch/sh/?
> 
> We're maintaining SH in Debian so I'm interested in keeping arch/sh, but
> I'm also let down that SH maintainers aren't that active at the moment.
> 
> I do know that Yoshinori Sato has a tree where he takes patches and sends
> PRs from time to time, but I have no idea what is going on.

There are still people who care about the architecture and try to get fixes in:

  https://www.spinics.net/lists/linux-sh/msg56844.html

Alas, I haven't had better luck getting Rich's attention, and I say that as
someone who has his phone number.

It met Sato-san for lunch once years ago, but he lives in Tokyo and english is
not his first language. I was under the impression he became co-maintainer to
show Rich the ropes of maintainership and to answer obscure architectural
questions, not because he was volunteering for significantly more work. Rich was
supposed to be load bearing.

I don't really have the domain expertise to do it myself... :(

Rob

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28  5:46   ` Christoph Hellwig
  2020-05-28  5:55     ` John Paul Adrian Glaubitz
@ 2020-05-28 16:14     ` Rich Felker
  2020-05-28 22:14       ` Rich Felker
  2020-05-29 14:30       ` Christoph Hellwig
  1 sibling, 2 replies; 35+ messages in thread
From: Rich Felker @ 2020-05-28 16:14 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Wed, May 27, 2020 at 10:46:00PM -0700, Christoph Hellwig wrote:
> [adding Linus]
> 
> On Thu, May 07, 2020 at 07:35:52AM -0700, Christoph Hellwig wrote:
> > Any progress on this?  I plan to resend the sh dma-mapping I've been
> > trying to get upstream for a year again, and they would conflict,
> > so I could look into rebasing them first.
> 
> So for years now it has been close to and in the end impossible to
> provoke sh maintainer action.  At the same point hardware is pretty much
> long gone for the real commercial variants, and never took off for the
> open hardware nommu variant.
> 
> Linus, would you ok with a 5.8 pull request to just kill off arch/sh/?

It is in active use. Please do not act on such a request. I would be
much quicker to ack things that actually need ack if I weren't CC'd on
hundreds of random non-arch-specific changes that don't need it, but I
understand that's how the kernel process works. If there are things
that need ack please feel free to ping.

Note that I specifically acked and requested the sh5 removal.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 16:14     ` Rich Felker
@ 2020-05-28 22:14       ` Rich Felker
  2020-05-28 22:28         ` Rob Landley
                           ` (2 more replies)
  2020-05-29 14:30       ` Christoph Hellwig
  1 sibling, 3 replies; 35+ messages in thread
From: Rich Felker @ 2020-05-28 22:14 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Thu, May 28, 2020 at 12:14:16PM -0400, Rich Felker wrote:
> On Wed, May 27, 2020 at 10:46:00PM -0700, Christoph Hellwig wrote:
> > [adding Linus]
> > 
> > On Thu, May 07, 2020 at 07:35:52AM -0700, Christoph Hellwig wrote:
> > > Any progress on this?  I plan to resend the sh dma-mapping I've been
> > > trying to get upstream for a year again, and they would conflict,
> > > so I could look into rebasing them first.
> > 
> > So for years now it has been close to and in the end impossible to
> > provoke sh maintainer action.  At the same point hardware is pretty much
> > long gone for the real commercial variants, and never took off for the
> > open hardware nommu variant.
> > 
> > Linus, would you ok with a 5.8 pull request to just kill off arch/sh/?
> 
> It is in active use. Please do not act on such a request. I would be
> much quicker to ack things that actually need ack if I weren't CC'd on
> hundreds of random non-arch-specific changes that don't need it, but I
> understand that's how the kernel process works. If there are things
> that need ack please feel free to ping.
> 
> Note that I specifically acked and requested the sh5 removal.

To follow up, I see that there was a patch series of yours (3/24) I
missed ack'ing fairly recently. At first glance it looks good. It
happened to arrive while I was getting over being horribly sick with
what I thought was covid19. If there's further action needed on it
I'll address it asap now that I'm aware of it.

In general, most of the patches I see are things that the linux-sh
list and myself end up cc'd on that are only tangentially related to
arch/sh or even not related at all. In that case I normally trust
other maintainers familiar with the cross-arch changes being made that
the small arch/sh part of the change is ok if the broader change is
abstractly ok.

Part of why I really disliked the "just kill it all" response to this
thread is that the sh5 removal is specifically for the sake of making
the arch more maintainable. That, along with forward-porting Sato's
SH4 device tree patches (I've tried this but ran into problems, and
need some help with it), has long been on my agenda for the arch, to
reduce (and ultimately eliminate) the amount of legacy "only on
arch/sh" stuff left so that it's not a burden on other maintainers and
contributors. Seeing sentiment along the lines of "why don't you just
remove it all while you're at it?" as a response is disheartening and
also dismissive of Arnd's work making the sh5 removal happen.

Aside from that, the open source & open hardware J-core models are
still active and in development, with the latest release having been
made this month, and the J32 with MMU nearly complete and pending
release, contingent mostly on integration and testing with Linux.


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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 22:14       ` Rich Felker
@ 2020-05-28 22:28         ` Rob Landley
  2020-05-28 22:32         ` John Paul Adrian Glaubitz
  2020-05-29 14:35         ` Christoph Hellwig
  2 siblings, 0 replies; 35+ messages in thread
From: Rob Landley @ 2020-05-28 22:28 UTC (permalink / raw)
  To: Rich Felker, Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro,
	Geert Uytterhoeven, Linus Torvalds

On 5/28/20 5:14 PM, Rich Felker wrote:
> Aside from that, the open source & open hardware J-core models are
> still active and in development, with the latest release having been
> made this month, and the J32 with MMU nearly complete and pending
> release, contingent mostly on integration and testing with Linux.

J-core's doing stuff:

https://github.com/j-core

https://www.prnewswire.com/news-releases/spacechain-foundation-invests-in-core-semiconductor-to-produce-open-hardware-platform-for-direct-satellite-to-devices-communication-301061761.html

https://www.reddit.com/r/IAmA/comments/gs7qpn/we_are_jeff_garzik_and_jeff_dionne_and_we_are/

And I note that I worked a year long contract in 2018 porting an existing sh4
Windows CE board to Linux (as a field upgrade to a widely deployed building
control system with a big stock of parts to build replacement units), so
conventional superh isn't exactly dead either.

Rob

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 22:14       ` Rich Felker
  2020-05-28 22:28         ` Rob Landley
@ 2020-05-28 22:32         ` John Paul Adrian Glaubitz
  2020-05-28 22:37           ` Rich Felker
  2020-05-29 14:35         ` Christoph Hellwig
  2 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-05-28 22:32 UTC (permalink / raw)
  To: Rich Felker, Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

Hello Rich!

On 5/29/20 12:14 AM, Rich Felker wrote:
> To follow up, I see that there was a patch series of yours (3/24) I
> missed ack'ing fairly recently. At first glance it looks good. It
> happened to arrive while I was getting over being horribly sick with
> what I thought was covid19. If there's further action needed on it
> I'll address it asap now that I'm aware of it.

Glad to hear from you again! I hope you have fully recovered!

> In general, most of the patches I see are things that the linux-sh
> list and myself end up cc'd on that are only tangentially related to
> arch/sh or even not related at all. In that case I normally trust
> other maintainers familiar with the cross-arch changes being made that
> the small arch/sh part of the change is ok if the broader change is
> abstractly ok.
> 
> Part of why I really disliked the "just kill it all" response to this
> thread is that the sh5 removal is specifically for the sake of making
> the arch more maintainable. That, along with forward-porting Sato's
> SH4 device tree patches (I've tried this but ran into problems, and
> need some help with it), has long been on my agenda for the arch, to
> reduce (and ultimately eliminate) the amount of legacy "only on
> arch/sh" stuff left so that it's not a burden on other maintainers and
> contributors. Seeing sentiment along the lines of "why don't you just
> remove it all while you're at it?" as a response is disheartening and
> also dismissive of Arnd's work making the sh5 removal happen.

I agree. I have also poured endless hours into Debian's sh4 port fixing
dozens of bugs myself and reporting them upstream whenever I couldn't
fix them myself.

I would also like to add that getting device tree support into SH would
be a huge leap forward and I would be happy to help with the efforts. I
still have some LANDISK and NextVoD devices available if anyone needs
hardware for testing and development, FWIW.

Would be great to also hear back from Sato-san, he is still active
on his other Linux trees [1].

> Aside from that, the open source & open hardware J-core models are
> still active and in development, with the latest release having been
> made this month, and the J32 with MMU nearly complete and pending
> release, contingent mostly on integration and testing with Linux.

And I'm still very much looking forward to these. I will certainly
buy a bunch of J32 to use them as buildds for Debian's sh4 port!

Thanks,
Adrian

> [1] https://osdn.net/projects/uclinux-h8/scm/git/linux/branches

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 22:32         ` John Paul Adrian Glaubitz
@ 2020-05-28 22:37           ` Rich Felker
  0 siblings, 0 replies; 35+ messages in thread
From: Rich Felker @ 2020-05-28 22:37 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds

On Fri, May 29, 2020 at 12:32:07AM +0200, John Paul Adrian Glaubitz wrote:
> Hello Rich!
> 
> On 5/29/20 12:14 AM, Rich Felker wrote:
> > To follow up, I see that there was a patch series of yours (3/24) I
> > missed ack'ing fairly recently. At first glance it looks good. It
> > happened to arrive while I was getting over being horribly sick with
> > what I thought was covid19. If there's further action needed on it
> > I'll address it asap now that I'm aware of it.
> 
> Glad to hear from you again! I hope you have fully recovered!

Yes, but it took a good while to get fully better, and according to
tests it wasn't even covid19. Certainly shaped my view on taking the
pandemic seriously at an appropriate time, though!

> > In general, most of the patches I see are things that the linux-sh
> > list and myself end up cc'd on that are only tangentially related to
> > arch/sh or even not related at all. In that case I normally trust
> > other maintainers familiar with the cross-arch changes being made that
> > the small arch/sh part of the change is ok if the broader change is
> > abstractly ok.
> > 
> > Part of why I really disliked the "just kill it all" response to this
> > thread is that the sh5 removal is specifically for the sake of making
> > the arch more maintainable. That, along with forward-porting Sato's
> > SH4 device tree patches (I've tried this but ran into problems, and
> > need some help with it), has long been on my agenda for the arch, to
> > reduce (and ultimately eliminate) the amount of legacy "only on
> > arch/sh" stuff left so that it's not a burden on other maintainers and
> > contributors. Seeing sentiment along the lines of "why don't you just
> > remove it all while you're at it?" as a response is disheartening and
> > also dismissive of Arnd's work making the sh5 removal happen.
> 
> I agree. I have also poured endless hours into Debian's sh4 port fixing
> dozens of bugs myself and reporting them upstream whenever I couldn't
> fix them myself.
> 
> I would also like to add that getting device tree support into SH would
> be a huge leap forward and I would be happy to help with the efforts. I
> still have some LANDISK and NextVoD devices available if anyone needs
> hardware for testing and development, FWIW.

And I still have the NextVoD and LANDISK. The NextVoD is ST-based, so
not supported at all by upstream kernel, only the abandoned stlinux.
I've long wanted to pull support for ST hardware back into mainline,
and I think DT makes this viable rather than just a huge new mess on
top of undermaintained code, but it'll need help to make it happen.

> Would be great to also hear back from Sato-san, he is still active
> on his other Linux trees [1].

Yes.

> > Aside from that, the open source & open hardware J-core models are
> > still active and in development, with the latest release having been
> > made this month, and the J32 with MMU nearly complete and pending
> > release, contingent mostly on integration and testing with Linux.
> 
> And I'm still very much looking forward to these. I will certainly
> buy a bunch of J32 to use them as buildds for Debian's sh4 port!

Great!

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 16:14     ` Rich Felker
  2020-05-28 22:14       ` Rich Felker
@ 2020-05-29 14:30       ` Christoph Hellwig
  2020-05-29 17:53         ` Rich Felker
  1 sibling, 1 reply; 35+ messages in thread
From: Christoph Hellwig @ 2020-05-29 14:30 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds

On Thu, May 28, 2020 at 12:14:16PM -0400, Rich Felker wrote:
> It is in active use. Please do not act on such a request. I would be
> much quicker to ack things that actually need ack if I weren't CC'd on
> hundreds of random non-arch-specific changes that don't need it, but I
> understand that's how the kernel process works. If there are things
> that need ack please feel free to ping.
> 
> Note that I specifically acked and requested the sh5 removal.

But you did not actually pick it up - because of that it still isn't
in linux-next and thus most likely will miss Linux 5.8.

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-28 22:14       ` Rich Felker
  2020-05-28 22:28         ` Rob Landley
  2020-05-28 22:32         ` John Paul Adrian Glaubitz
@ 2020-05-29 14:35         ` Christoph Hellwig
  2 siblings, 0 replies; 35+ messages in thread
From: Christoph Hellwig @ 2020-05-29 14:35 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds

On Thu, May 28, 2020 at 06:14:51PM -0400, Rich Felker wrote:
> To follow up, I see that there was a patch series of yours (3/24) I
> missed ack'ing fairly recently. At first glance it looks good.

Well, I need a formal ACK, or even better have the arch maintainer
pick it up, as that is how development is normally supposed to work.

> In general, most of the patches I see are things that the linux-sh
> list and myself end up cc'd on that are only tangentially related to
> arch/sh or even not related at all. In that case I normally trust
> other maintainers familiar with the cross-arch changes being made that
> the small arch/sh part of the change is ok if the broader change is
> abstractly ok.

FYI, if you want to reduce the amount of crap you get Cced on, you can
add yourself to .get_maintainer.ignore file in the kernel tree, as
that at least removes a lot of the pass by cleanups found from git
log.

> Part of why I really disliked the "just kill it all" response to this
> thread is that the sh5 removal is specifically for the sake of making
> the arch more maintainable. That, along with forward-porting Sato's
> SH4 device tree patches (I've tried this but ran into problems, and
> need some help with it), has long been on my agenda for the arch, to
> reduce (and ultimately eliminate) the amount of legacy "only on
> arch/sh" stuff left so that it's not a burden on other maintainers and
> contributors. Seeing sentiment along the lines of "why don't you just
> remove it all while you're at it?" as a response is disheartening and
> also dismissive of Arnd's work making the sh5 removal happen.

We had the discussion before and things like the sh5 removal and
device tree switch came out of it.  But since then exactly nothing
has happened - the arch code is still pretty much unmaintained and
impossible to get a review for.  No one expects super quick responses
for a legacy architecture, but if there is no way to get feedback
or patches queued up while the code keeps on bitrotting the architecture
is effectively dead.  I have no personal problem with the sh hardware,
but if we want a Linux port to survive it will need at least a minimum
amount of active maintainance.

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-29 14:30       ` Christoph Hellwig
@ 2020-05-29 17:53         ` Rich Felker
  2020-05-29 18:22           ` Christoph Hellwig
  2020-05-30  8:08           ` John Paul Adrian Glaubitz
  0 siblings, 2 replies; 35+ messages in thread
From: Rich Felker @ 2020-05-29 17:53 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Fri, May 29, 2020 at 07:30:59AM -0700, Christoph Hellwig wrote:
> On Thu, May 28, 2020 at 12:14:16PM -0400, Rich Felker wrote:
> > It is in active use. Please do not act on such a request. I would be
> > much quicker to ack things that actually need ack if I weren't CC'd on
> > hundreds of random non-arch-specific changes that don't need it, but I
> > understand that's how the kernel process works. If there are things
> > that need ack please feel free to ping.
> > 
> > Note that I specifically acked and requested the sh5 removal.
> 
> But you did not actually pick it up - because of that it still isn't
> in linux-next and thus most likely will miss Linux 5.8.

Arnd sent the pull request for this and I expected it to be pulled
from his tree, since he already had my approval for the change. Maybe
Linus was expecting it to come through me. This seems to have been a
miscommunication.

Frustratingly, I _still_ don't have an official tree on kernel.org for
the purpose of being the canonical place for linux-next to pull from,
due to policies around pgp keys and nobody following up on signing
mine. This is all really silly since there are ridiculously many
independent channels I could cryptographically validate identity
through with vanishing probability that they're all compromised. For
the time being I'll reactivate my repo on git.musl-libc.org.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-29 17:53         ` Rich Felker
@ 2020-05-29 18:22           ` Christoph Hellwig
  2020-05-30  8:08           ` John Paul Adrian Glaubitz
  1 sibling, 0 replies; 35+ messages in thread
From: Christoph Hellwig @ 2020-05-29 18:22 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds

On Fri, May 29, 2020 at 01:53:38PM -0400, Rich Felker wrote:
> Frustratingly, I _still_ don't have an official tree on kernel.org for
> the purpose of being the canonical place for linux-next to pull from,
> due to policies around pgp keys and nobody following up on signing
> mine. This is all really silly since there are ridiculously many
> independent channels I could cryptographically validate identity
> through with vanishing probability that they're all compromised. For
> the time being I'll reactivate my repo on git.musl-libc.org.

You don't need a kernel.org tree.  None of the trees I maintain are
hosted on kernel.org.  Just make sure you sign your tags.

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-29 17:53         ` Rich Felker
  2020-05-29 18:22           ` Christoph Hellwig
@ 2020-05-30  8:08           ` John Paul Adrian Glaubitz
  2020-05-30  8:47             ` Geert Uytterhoeven
                               ` (2 more replies)
  1 sibling, 3 replies; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-05-30  8:08 UTC (permalink / raw)
  To: Rich Felker, Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On 5/29/20 7:53 PM, Rich Felker wrote:
> Frustratingly, I _still_ don't have an official tree on kernel.org for
> the purpose of being the canonical place for linux-next to pull from,
> due to policies around pgp keys and nobody following up on signing
> mine. This is all really silly since there are ridiculously many
> independent channels I could cryptographically validate identity
> through with vanishing probability that they're all compromised. For
> the time being I'll reactivate my repo on git.musl-libc.org.

May I suggest to pick up these patches, for example? There might be
more I missed, but getting these merged should already help a lot with
the clean-up of arch/sh.

> [RESEND PATCH v2] sh: sh4a: Bring back tmu3_device early device
> https://marc.info/?l=linux-sh&m=159061283109675&w=2

> [PATCH] sh: Drop CONFIG_MTD_M25P80 in sh7757lcr_defconfig
> https://marc.info/?l=linux-sh&m=158839364811658&w=2

> [PATCH v2] sh: Replace CONFIG_MTD_M25P80 with CONFIG_MTD_SPI_NOR in sh7757lcr_defconfig
> https://marc.info/?l=linux-sh&m=158841749817761&w=2

> [PATCH 1/1] sh: remove sh5 support
> https://marc.info/?l=linux-sh&m=158776683125080&w=2

> sh/mm: Fix a build failure via adding a missing bracket
> https://marc.info/?l=linux-sh&m=158736532105299&w=2

> [PATCH 1/2] arch/sh: vmlinux.scr
> https://marc.info/?l=linux-sh&m=158429470120959&w=2

> [PATCH] sh: configs: Cleanup old Kconfig IO scheduler options
> https://marc.info/?l=linux-sh&m=158195850120215&w=2

> [PATCH resend 0/3] SH: compile fixup patches
> https://marc.info/?l=linux-renesas-soc&m=157948330821790&w=2
> https://marc.info/?l=linux-sh&m=157852970316892&w=2
> https://marc.info/?l=linux-sh&m=157852984016938&w=2

> [PATCH][repost] sh: clkfwk: remove r8/r16/r32
> https://marc.info/?l=linux-renesas-soc&m=157852973916903&w=2

> [PATCH] sh: clk: Fix discarding const qualifier warning
> https://marc.info/?l=linux-sh&m=157839999010776&w=2

> [PATCH next] sh: remove call to memset after dma_alloc_coherent
> https://marc.info/?l=linux-sh&m=157793031102356&w=2

> [PATCH] sh: use generic strncpy()
> https://marc.info/?l=linux-renesas-soc&m=157664657013309&w=2

> [PATCH v2] SH: Convert ins[bwl]/outs[bwl] macros to inline functions
> https://marc.info/?l=linux-sh&m=157656907716201&w=2

> [PATCH v2] SH: Convert iounmap() macros to inline functions
> https://marc.info/?l=linux-sh&m=157656903716172&w=2

> [PATCH v2] sh: add missing DECLARE_EXPORT() for __ashiftrt_r4_xx
> https://marc.info/?l=linux-sh&m=157619891030685&w=2

> [PATCH] sh: add missing EXPORT_SYMBOL() for __delay
> https://marc.info/?l=linux-kernel&m=157611811927852&w=2

> [PATCH] sh: kgdb: Mark expected switch fall-throughs
> https://marc.info/?l=linux-sh&m=157241987926081&w=2

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-30  8:08           ` John Paul Adrian Glaubitz
@ 2020-05-30  8:47             ` Geert Uytterhoeven
  2020-05-31  3:20             ` Rob Landley
  2020-06-01 18:13             ` Rich Felker
  2 siblings, 0 replies; 35+ messages in thread
From: Geert Uytterhoeven @ 2020-05-30  8:47 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Rich Felker, Christoph Hellwig, Arnd Bergmann, Linux-sh list,
	Yoshinori Sato, Linux Kernel Mailing List, Al Viro, Rob Landley,
	Linus Torvalds

On Sat, May 30, 2020 at 10:08 AM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
> On 5/29/20 7:53 PM, Rich Felker wrote:
> > Frustratingly, I _still_ don't have an official tree on kernel.org for
> > the purpose of being the canonical place for linux-next to pull from,
> > due to policies around pgp keys and nobody following up on signing
> > mine. This is all really silly since there are ridiculously many
> > independent channels I could cryptographically validate identity
> > through with vanishing probability that they're all compromised. For
> > the time being I'll reactivate my repo on git.musl-libc.org.
>
> May I suggest to pick up these patches, for example? There might be
> more I missed, but getting these merged should already help a lot with
> the clean-up of arch/sh.

And https://marc.info/?l=linux-arch&m=153337991312146&w=2

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-30  8:08           ` John Paul Adrian Glaubitz
  2020-05-30  8:47             ` Geert Uytterhoeven
@ 2020-05-31  3:20             ` Rob Landley
  2020-05-31  8:03               ` John Paul Adrian Glaubitz
  2020-06-01 18:13             ` Rich Felker
  2 siblings, 1 reply; 35+ messages in thread
From: Rob Landley @ 2020-05-31  3:20 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, Rich Felker, Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro,
	Geert Uytterhoeven, Linus Torvalds

On 5/30/20 3:08 AM, John Paul Adrian Glaubitz wrote:
> On 5/29/20 7:53 PM, Rich Felker wrote:
>> Frustratingly, I _still_ don't have an official tree on kernel.org for
>> the purpose of being the canonical place for linux-next to pull from,
>> due to policies around pgp keys and nobody following up on signing
>> mine. This is all really silly since there are ridiculously many
>> independent channels I could cryptographically validate identity
>> through with vanishing probability that they're all compromised. For
>> the time being I'll reactivate my repo on git.musl-libc.org.
> 
> May I suggest to pick up these patches, for example? There might be
> more I missed, but getting these merged should already help a lot with
> the clean-up of arch/sh.

Does that include the 2 fixes to build with current binutils I made puppy eyes
about last -rc7 (in march)?

https://marc.info/?l=linux-sh&m=158544749818664&w=2

Rob

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-31  3:20             ` Rob Landley
@ 2020-05-31  8:03               ` John Paul Adrian Glaubitz
  2020-06-01  2:55                 ` Rich Felker
  0 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-05-31  8:03 UTC (permalink / raw)
  To: Rob Landley, Rich Felker, Christoph Hellwig
  Cc: Arnd Bergmann, linux-sh, ysato, linux-kernel, viro,
	Geert Uytterhoeven, Linus Torvalds

On 5/31/20 5:20 AM, Rob Landley wrote:
> On 5/30/20 3:08 AM, John Paul Adrian Glaubitz wrote:
>> On 5/29/20 7:53 PM, Rich Felker wrote:
>>> Frustratingly, I _still_ don't have an official tree on kernel.org for
>>> the purpose of being the canonical place for linux-next to pull from,
>>> due to policies around pgp keys and nobody following up on signing
>>> mine. This is all really silly since there are ridiculously many
>>> independent channels I could cryptographically validate identity
>>> through with vanishing probability that they're all compromised. For
>>> the time being I'll reactivate my repo on git.musl-libc.org.
>>
>> May I suggest to pick up these patches, for example? There might be
>> more I missed, but getting these merged should already help a lot with
>> the clean-up of arch/sh.
> 
> Does that include the 2 fixes to build with current binutils I made puppy eyes
> about last -rc7 (in march)?
> 
> https://marc.info/?l=linux-sh&m=158544749818664&w=2
Yes, listed as "[PATCH 1/2] arch/sh: vmlinux.scr".

@Rich: Do you think you can merge all those fixes in your local tree within
       the next days and send a PR to Linus?

Otherwise, I can volunteer to become a third maintainer for arch/sh as I have
the hardware for testing and can accept patches and send PRs.

We shouldn't let contributors to arch/sh wait for too long.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-31  8:03               ` John Paul Adrian Glaubitz
@ 2020-06-01  2:55                 ` Rich Felker
  2020-06-01  8:16                   ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 35+ messages in thread
From: Rich Felker @ 2020-06-01  2:55 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Rob Landley, Christoph Hellwig, Arnd Bergmann, linux-sh, ysato,
	linux-kernel, viro, Geert Uytterhoeven, Linus Torvalds

On Sun, May 31, 2020 at 10:03:13AM +0200, John Paul Adrian Glaubitz wrote:
> On 5/31/20 5:20 AM, Rob Landley wrote:
> > On 5/30/20 3:08 AM, John Paul Adrian Glaubitz wrote:
> >> On 5/29/20 7:53 PM, Rich Felker wrote:
> >>> Frustratingly, I _still_ don't have an official tree on kernel.org for
> >>> the purpose of being the canonical place for linux-next to pull from,
> >>> due to policies around pgp keys and nobody following up on signing
> >>> mine. This is all really silly since there are ridiculously many
> >>> independent channels I could cryptographically validate identity
> >>> through with vanishing probability that they're all compromised. For
> >>> the time being I'll reactivate my repo on git.musl-libc.org.
> >>
> >> May I suggest to pick up these patches, for example? There might be
> >> more I missed, but getting these merged should already help a lot with
> >> the clean-up of arch/sh.
> > 
> > Does that include the 2 fixes to build with current binutils I made puppy eyes
> > about last -rc7 (in march)?
> > 
> > https://marc.info/?l=linux-sh&m=158544749818664&w=2
> Yes, listed as "[PATCH 1/2] arch/sh: vmlinux.scr".
> 
> @Rich: Do you think you can merge all those fixes in your local tree within
>        the next days and send a PR to Linus?
> 
> Otherwise, I can volunteer to become a third maintainer for arch/sh as I have
> the hardware for testing and can accept patches and send PRs.
> 
> We shouldn't let contributors to arch/sh wait for too long.

Yes, I'll try to get my tree ready for next/PR use tomorrow.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-01  2:55                 ` Rich Felker
@ 2020-06-01  8:16                   ` John Paul Adrian Glaubitz
  0 siblings, 0 replies; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-01  8:16 UTC (permalink / raw)
  To: Rich Felker
  Cc: Rob Landley, Christoph Hellwig, Arnd Bergmann, linux-sh, ysato,
	linux-kernel, viro, Geert Uytterhoeven, Linus Torvalds

Hi Rich!

On 6/1/20 4:55 AM, Rich Felker wrote:
> Yes, I'll try to get my tree ready for next/PR use tomorrow.

Great, really looking forward.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-05-30  8:08           ` John Paul Adrian Glaubitz
  2020-05-30  8:47             ` Geert Uytterhoeven
  2020-05-31  3:20             ` Rob Landley
@ 2020-06-01 18:13             ` Rich Felker
  2020-06-01 21:12               ` Arnd Bergmann
  2020-06-02  1:33               ` Rich Felker
  2 siblings, 2 replies; 35+ messages in thread
From: Rich Felker @ 2020-06-01 18:13 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds

On Sat, May 30, 2020 at 10:08:09AM +0200, John Paul Adrian Glaubitz wrote:
> On 5/29/20 7:53 PM, Rich Felker wrote:
> > Frustratingly, I _still_ don't have an official tree on kernel.org for
> > the purpose of being the canonical place for linux-next to pull from,
> > due to policies around pgp keys and nobody following up on signing
> > mine. This is all really silly since there are ridiculously many
> > independent channels I could cryptographically validate identity
> > through with vanishing probability that they're all compromised. For
> > the time being I'll reactivate my repo on git.musl-libc.org.
> 
> May I suggest to pick up these patches, for example? There might be
> more I missed, but getting these merged should already help a lot with
> the clean-up of arch/sh.

This was really helpful, but one thing that would make it easier if
you have any more to list is including message-ids rather than (or in
addition to) marc.info links. I had to go through and reverse them all
to message-ids (or at least subjects) to find the patches from my
mailbox to git-am.

> > [RESEND PATCH v2] sh: sh4a: Bring back tmu3_device early device
> > https://marc.info/?l=linux-sh&m=159061283109675&w=2

OK.

> > [PATCH] sh: Drop CONFIG_MTD_M25P80 in sh7757lcr_defconfig
> > https://marc.info/?l=linux-sh&m=158839364811658&w=2
> 
> > [PATCH v2] sh: Replace CONFIG_MTD_M25P80 with CONFIG_MTD_SPI_NOR in sh7757lcr_defconfig
> > https://marc.info/?l=linux-sh&m=158841749817761&w=2

Doesn't the second one here replace the first?

> > [PATCH 1/1] sh: remove sh5 support
> > https://marc.info/?l=linux-sh&m=158776683125080&w=2

I'm trying to figure out how to apply this since it was generated with
-D and git-am maliciously rejects it for that reason with an arcane
error message.

> > sh/mm: Fix a build failure via adding a missing bracket
> > https://marc.info/?l=linux-sh&m=158736532105299&w=2

Already upstream.

> > [PATCH 1/2] arch/sh: vmlinux.scr
> > https://marc.info/?l=linux-sh&m=158429470120959&w=2

OK.

> > [PATCH] sh: configs: Cleanup old Kconfig IO scheduler options
> > https://marc.info/?l=linux-sh&m=158195850120215&w=2

OK.

> > [PATCH resend 0/3] SH: compile fixup patches
> > https://marc.info/?l=linux-renesas-soc&m=157948330821790&w=2
> > https://marc.info/?l=linux-sh&m=157852970316892&w=2
> > https://marc.info/?l=linux-sh&m=157852984016938&w=2

OK.

> > [PATCH][repost] sh: clkfwk: remove r8/r16/r32
> > https://marc.info/?l=linux-renesas-soc&m=157852973916903&w=2

This one had objections by Geert that called for a v2, and was
teplaced by:

> > [PATCH] sh: clk: Fix discarding const qualifier warning
> > https://marc.info/?l=linux-sh&m=157839999010776&w=2

But this still had objections that the definitions on all archs should
be fixed for const correctness. It looks like that patch series is
still bouncing around; should I apply the SH part of it now?

> > [PATCH next] sh: remove call to memset after dma_alloc_coherent
> > https://marc.info/?l=linux-sh&m=157793031102356&w=2

Can anyone confirm that this is correct/safe?

> > [PATCH] sh: use generic strncpy()
> > https://marc.info/?l=linux-renesas-soc&m=157664657013309&w=2

Can you fill me in on the status of this? It looks like you were
following it. The subject says "use generic strncpy" but it's updating
the asm, and I think there are problems with the proposed asm.

> > [PATCH v2] SH: Convert ins[bwl]/outs[bwl] macros to inline functions
> > https://marc.info/?l=linux-sh&m=157656907716201&w=2

OK.

> > [PATCH v2] SH: Convert iounmap() macros to inline functions
> > https://marc.info/?l=linux-sh&m=157656903716172&w=2

OK.

> > [PATCH v2] sh: add missing DECLARE_EXPORT() for __ashiftrt_r4_xx
> > https://marc.info/?l=linux-sh&m=157619891030685&w=2

OK.

> > [PATCH] sh: add missing EXPORT_SYMBOL() for __delay
> > https://marc.info/?l=linux-kernel&m=157611811927852&w=2

OK.

> > [PATCH] sh: kgdb: Mark expected switch fall-throughs
> > https://marc.info/?l=linux-sh&m=157241987926081&w=2

This is already upstream.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-01 18:13             ` Rich Felker
@ 2020-06-01 21:12               ` Arnd Bergmann
  2020-06-02  1:33               ` Rich Felker
  1 sibling, 0 replies; 35+ messages in thread
From: Arnd Bergmann @ 2020-06-01 21:12 UTC (permalink / raw)
  To: Rich Felker
  Cc: John Paul Adrian Glaubitz, Christoph Hellwig, Linux-sh list,
	Yoshinori Sato, linux-kernel, Al Viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Mon, Jun 1, 2020 at 8:13 PM Rich Felker <dalias@libc.org> wrote:
> On Sat, May 30, 2020 at 10:08:09AM +0200, John Paul Adrian Glaubitz wrote:
> > On 5/29/20 7:53 PM, Rich Felker wrote:
> > > [PATCH next] sh: remove call to memset after dma_alloc_coherent
> > > https://marc.info/?l=linux-sh&m=157793031102356&w=2
>
> Can anyone confirm that this is correct/safe?

Yes, this is safe, I checked both the API definition and the sh
implementation in arch_dma_alloc(), which passes __GFP_ZERO.

       Arnd

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-01 18:13             ` Rich Felker
  2020-06-01 21:12               ` Arnd Bergmann
@ 2020-06-02  1:33               ` Rich Felker
  2020-06-02  2:49                 ` Andrew Morton
                                   ` (2 more replies)
  1 sibling, 3 replies; 35+ messages in thread
From: Rich Felker @ 2020-06-02  1:33 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

On Mon, Jun 01, 2020 at 02:13:00PM -0400, Rich Felker wrote:
> On Sat, May 30, 2020 at 10:08:09AM +0200, John Paul Adrian Glaubitz wrote:
> > On 5/29/20 7:53 PM, Rich Felker wrote:
> > > Frustratingly, I _still_ don't have an official tree on kernel.org for
> > > the purpose of being the canonical place for linux-next to pull from,
> > > due to policies around pgp keys and nobody following up on signing
> > > mine. This is all really silly since there are ridiculously many
> > > independent channels I could cryptographically validate identity
> > > through with vanishing probability that they're all compromised. For
> > > the time being I'll reactivate my repo on git.musl-libc.org.
> > 
> > May I suggest to pick up these patches, for example? There might be
> > more I missed, but getting these merged should already help a lot with
> > the clean-up of arch/sh.
> 
> This was really helpful, but one thing that would make it easier if
> you have any more to list is including message-ids rather than (or in
> addition to) marc.info links. I had to go through and reverse them all
> to message-ids (or at least subjects) to find the patches from my
> mailbox to git-am.

Hmm, it looks like Andrew Morton just pulled most of these into -mm,
apparently independently of me getting them in my for-next a few hours
ago, since his versions lack my signed-off-by. That's ok though, as
long as they go up. Some details since further action is needed on a
few:

> > > [RESEND PATCH v2] sh: sh4a: Bring back tmu3_device early device
> > > https://marc.info/?l=linux-sh&m=159061283109675&w=2
> 
> OK.

In -mm.

> > > [PATCH] sh: Drop CONFIG_MTD_M25P80 in sh7757lcr_defconfig
> > > https://marc.info/?l=linux-sh&m=158839364811658&w=2
> > 
> > > [PATCH v2] sh: Replace CONFIG_MTD_M25P80 with CONFIG_MTD_SPI_NOR in sh7757lcr_defconfig
> > > https://marc.info/?l=linux-sh&m=158841749817761&w=2
> 
> Doesn't the second one here replace the first?

The first one was pulled and the second wasn't so I think the second
needs to be rewritten on top of the first now.

> > > [PATCH 1/1] sh: remove sh5 support
> > > https://marc.info/?l=linux-sh&m=158776683125080&w=2
> 
> I'm trying to figure out how to apply this since it was generated with
> -D and git-am maliciously rejects it for that reason with an arcane
> error message.

Not included in -mm. I'll keep it in my for-next.

> > > sh/mm: Fix a build failure via adding a missing bracket
> > > https://marc.info/?l=linux-sh&m=158736532105299&w=2
> 
> Already upstream.

No action needed.

> > > [PATCH 1/2] arch/sh: vmlinux.scr
> > > https://marc.info/?l=linux-sh&m=158429470120959&w=2
> 
> OK.

Included in -mm.

> > > [PATCH] sh: configs: Cleanup old Kconfig IO scheduler options
> > > https://marc.info/?l=linux-sh&m=158195850120215&w=2
> 
> OK.

Not included in -mm. I'll keep.

> > > [PATCH resend 0/3] SH: compile fixup patches
> > > https://marc.info/?l=linux-renesas-soc&m=157948330821790&w=2
> > > https://marc.info/?l=linux-sh&m=157852970316892&w=2
> > > https://marc.info/?l=linux-sh&m=157852984016938&w=2
> 
> OK.
> 
> > > [PATCH][repost] sh: clkfwk: remove r8/r16/r32
> > > https://marc.info/?l=linux-renesas-soc&m=157852973916903&w=2
> 
> This one had objections by Geert that called for a v2, and was
> teplaced by:
> 
> > > [PATCH] sh: clk: Fix discarding const qualifier warning
> > > https://marc.info/?l=linux-sh&m=157839999010776&w=2
> 
> But this still had objections that the definitions on all archs should
> be fixed for const correctness. It looks like that patch series is
> still bouncing around; should I apply the SH part of it now?

The first one here is now in -mm, so further cleanup action is needed
but I think that will happen with the cross-arch patch series.

> > > [PATCH next] sh: remove call to memset after dma_alloc_coherent
> > > https://marc.info/?l=linux-sh&m=157793031102356&w=2
> 
> Can anyone confirm that this is correct/safe?

Arnd confirmed it and it's in -mm now anyway.

> > > [PATCH] sh: use generic strncpy()
> > > https://marc.info/?l=linux-renesas-soc&m=157664657013309&w=2
> 
> Can you fill me in on the status of this? It looks like you were
> following it. The subject says "use generic strncpy" but it's updating
> the asm, and I think there are problems with the proposed asm.

Actual generic-strncpy is in -mm now so I think this should be ok. If
there's a desire to use the asm, it needs fixes. Latest proposed
version is using named labels (not numbered ones) in an inline asm
block so the compiler can in theory duplicate it and break assembly.

> > > [PATCH v2] SH: Convert ins[bwl]/outs[bwl] macros to inline functions
> > > https://marc.info/?l=linux-sh&m=157656907716201&w=2
> 
> OK.

In -mm, with followup style fix.

> > > [PATCH v2] SH: Convert iounmap() macros to inline functions
> > > https://marc.info/?l=linux-sh&m=157656903716172&w=2
> 
> OK.

In -mm.

> > > [PATCH v2] sh: add missing DECLARE_EXPORT() for __ashiftrt_r4_xx
> > > https://marc.info/?l=linux-sh&m=157619891030685&w=2
> 
> OK.

Missing from -mm so I'll keep it.

> > > [PATCH] sh: add missing EXPORT_SYMBOL() for __delay
> > > https://marc.info/?l=linux-kernel&m=157611811927852&w=2
> 
> OK.

In -mm.

> > > [PATCH] sh: kgdb: Mark expected switch fall-throughs
> > > https://marc.info/?l=linux-sh&m=157241987926081&w=2
> 
> This is already upstream.

No action needed.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-02  1:33               ` Rich Felker
@ 2020-06-02  2:49                 ` Andrew Morton
  2020-06-02  2:53                   ` Rich Felker
  2020-06-03  7:27                 ` John Paul Adrian Glaubitz
  2020-06-05 15:38                 ` John Paul Adrian Glaubitz
  2 siblings, 1 reply; 35+ messages in thread
From: Andrew Morton @ 2020-06-02  2:49 UTC (permalink / raw)
  To: Rich Felker
  Cc: John Paul Adrian Glaubitz, Christoph Hellwig, Arnd Bergmann,
	linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Mon, 1 Jun 2020 21:33:32 -0400 Rich Felker <dalias@libc.org> wrote:

> Hmm, it looks like Andrew Morton just pulled most of these into -mm,
> apparently independently of me getting them in my for-next a few hours
> ago, since his versions lack my signed-off-by. That's ok though, as
> long as they go up. Some details since further action is needed on a
> few:

It would be better if these were to go via the sh tree.  So please go
ahead and merge them up - I'll drop my copies when they turn up in
-next via the sh tree.


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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-02  2:49                 ` Andrew Morton
@ 2020-06-02  2:53                   ` Rich Felker
  0 siblings, 0 replies; 35+ messages in thread
From: Rich Felker @ 2020-06-02  2:53 UTC (permalink / raw)
  To: Andrew Morton
  Cc: John Paul Adrian Glaubitz, Christoph Hellwig, Arnd Bergmann,
	linux-sh, ysato, linux-kernel, viro, Rob Landley,
	Geert Uytterhoeven, Linus Torvalds

On Mon, Jun 01, 2020 at 07:49:36PM -0700, Andrew Morton wrote:
> On Mon, 1 Jun 2020 21:33:32 -0400 Rich Felker <dalias@libc.org> wrote:
> 
> > Hmm, it looks like Andrew Morton just pulled most of these into -mm,
> > apparently independently of me getting them in my for-next a few hours
> > ago, since his versions lack my signed-off-by. That's ok though, as
> > long as they go up. Some details since further action is needed on a
> > few:
> 
> It would be better if these were to go via the sh tree.  So please go
> ahead and merge them up - I'll drop my copies when they turn up in
> -next via the sh tree.

OK. That simplifies things a bit. Thanks.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-02  1:33               ` Rich Felker
  2020-06-02  2:49                 ` Andrew Morton
@ 2020-06-03  7:27                 ` John Paul Adrian Glaubitz
  2020-06-03  7:31                   ` John Paul Adrian Glaubitz
  2020-06-05 15:38                 ` John Paul Adrian Glaubitz
  2 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-03  7:27 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

Hi Rich!

On 6/2/20 3:33 AM, Rich Felker wrote:
> Hmm, it looks like Andrew Morton just pulled most of these into -mm,
> apparently independently of me getting them in my for-next a few hours
> ago, since his versions lack my signed-off-by. That's ok though, as
> long as they go up. Some details since further action is needed on a
> few:

I thought Andrew dropped them again since he saw you become active.

I can't find them in his tree.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-03  7:27                 ` John Paul Adrian Glaubitz
@ 2020-06-03  7:31                   ` John Paul Adrian Glaubitz
  0 siblings, 0 replies; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-03  7:31 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

On 6/3/20 9:27 AM, John Paul Adrian Glaubitz wrote:
> On 6/2/20 3:33 AM, Rich Felker wrote:
>> Hmm, it looks like Andrew Morton just pulled most of these into -mm,
>> apparently independently of me getting them in my for-next a few hours
>> ago, since his versions lack my signed-off-by. That's ok though, as
>> long as they go up. Some details since further action is needed on a
>> few:
> 
> I thought Andrew dropped them again since he saw you become active.
> 
> I can't find them in his tree.

Ah, sorry. I missed Andrew's message here, sorry.

In any case, I suggest merging all the patches now which have been reviewed
and acked and send a PR to Linus.

We can then go through the list of patches needing review and merge them
later.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-02  1:33               ` Rich Felker
  2020-06-02  2:49                 ` Andrew Morton
  2020-06-03  7:27                 ` John Paul Adrian Glaubitz
@ 2020-06-05 15:38                 ` John Paul Adrian Glaubitz
  2020-06-05 15:43                   ` Rich Felker
  2 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-05 15:38 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

Hi Rich!

On 6/2/20 3:33 AM, Rich Felker wrote:
>>>> [PATCH 1/2] arch/sh: vmlinux.scr
>>>> https://marc.info/?l=linux-sh&m=158429470120959&w=2
>>
>> OK.
> 
> Included in -mm.

I just had a look at your tree and it looks you forgot to merge the second
patch of the series, see:

> https://marc.info/?l=linux-sh&m=158429470221261&w=2

Can you include the patch as well? And would it be okay to send a PR to Linus
after that?

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 15:38                 ` John Paul Adrian Glaubitz
@ 2020-06-05 15:43                   ` Rich Felker
  2020-06-05 15:47                     ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 35+ messages in thread
From: Rich Felker @ 2020-06-05 15:43 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

On Fri, Jun 05, 2020 at 05:38:18PM +0200, John Paul Adrian Glaubitz wrote:
> Hi Rich!
> 
> On 6/2/20 3:33 AM, Rich Felker wrote:
> >>>> [PATCH 1/2] arch/sh: vmlinux.scr
> >>>> https://marc.info/?l=linux-sh&m=158429470120959&w=2
> >>
> >> OK.
> > 
> > Included in -mm.
> 
> I just had a look at your tree and it looks you forgot to merge the second
> patch of the series, see:
> 
> > https://marc.info/?l=linux-sh&m=158429470221261&w=2
> 
> Can you include the patch as well?

This one is outside arch/sh and I'm not sure it's permissible to go up
through my tree. I was also under the impression that only part 1 was
needed to fix the immediate problem on sh and tha part 2 was for
completeness and to make sure the same doesn't happen on other archs
in the future, but maybe my understanding here is incorrect.

> And would it be okay to send a PR to Linus
> after that?

Sure, will do right away once we resolve what to do with the above,
and provided you don't have anything else you want me to evaluate for
inclusion.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 15:43                   ` Rich Felker
@ 2020-06-05 15:47                     ` John Paul Adrian Glaubitz
  2020-06-05 15:59                       ` Rich Felker
  0 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-05 15:47 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

On 6/5/20 5:43 PM, Rich Felker wrote:
>> Can you include the patch as well?
> 
> This one is outside arch/sh and I'm not sure it's permissible to go up
> through my tree. I was also under the impression that only part 1 was
> needed to fix the immediate problem on sh and tha part 2 was for
> completeness and to make sure the same doesn't happen on other archs
> in the future, but maybe my understanding here is incorrect.

Ah, sorry, I missed that. You're right, it should probably go through
someone else's tree then.

>> And would it be okay to send a PR to Linus
>> after that?
> 
> Sure, will do right away once we resolve what to do with the above,
> and provided you don't have anything else you want me to evaluate for
> inclusion.

Since we haven't agreed on the __get_user_64() patch yet, I would be
in favor of getting the changes pulled in that have already been
reviewed and acknowledged. I rather don't want the other contributors
to wait any longer. Arnd in particular has done a tremendous job to
untangle all the SH-5 code and I think we should finally get this
in :).

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 15:47                     ` John Paul Adrian Glaubitz
@ 2020-06-05 15:59                       ` Rich Felker
  2020-06-05 17:58                         ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 35+ messages in thread
From: Rich Felker @ 2020-06-05 15:59 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

On Fri, Jun 05, 2020 at 05:47:34PM +0200, John Paul Adrian Glaubitz wrote:
> On 6/5/20 5:43 PM, Rich Felker wrote:
> >> Can you include the patch as well?
> > 
> > This one is outside arch/sh and I'm not sure it's permissible to go up
> > through my tree. I was also under the impression that only part 1 was
> > needed to fix the immediate problem on sh and tha part 2 was for
> > completeness and to make sure the same doesn't happen on other archs
> > in the future, but maybe my understanding here is incorrect.
> 
> Ah, sorry, I missed that. You're right, it should probably go through
> someone else's tree then.

Do you know if it's needed to un-break sh4? If so we should push to
get whoever has jurisdiction over it to include it; otherwise I'm
indifferent.

> >> And would it be okay to send a PR to Linus
> >> after that?
> > 
> > Sure, will do right away once we resolve what to do with the above,
> > and provided you don't have anything else you want me to evaluate for
> > inclusion.
> 
> Since we haven't agreed on the __get_user_64() patch yet, I would be
> in favor of getting the changes pulled in that have already been
> reviewed and acknowledged. I rather don't want the other contributors
> to wait any longer. Arnd in particular has done a tremendous job to
> untangle all the SH-5 code and I think we should finally get this
> in :).

Absolutely agreed.

Rich

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 15:59                       ` Rich Felker
@ 2020-06-05 17:58                         ` John Paul Adrian Glaubitz
  2020-06-05 18:23                           ` Geert Uytterhoeven
  0 siblings, 1 reply; 35+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-06-05 17:58 UTC (permalink / raw)
  To: Rich Felker
  Cc: Christoph Hellwig, Arnd Bergmann, linux-sh, ysato, linux-kernel,
	viro, Rob Landley, Geert Uytterhoeven, Linus Torvalds,
	Andrew Morton

Hi Rich!

On 6/5/20 5:59 PM, Rich Felker wrote:
>> Ah, sorry, I missed that. You're right, it should probably go through
>> someone else's tree then.
> 
> Do you know if it's needed to un-break sh4? If so we should push to
> get whoever has jurisdiction over it to include it; otherwise I'm
> indifferent.

No, the patch is only necessary when enabling Infiniband support with
CONFIG_INFINIBAND_USER_ACCESS enabled.

However, according to Geert, every architecture is supposed to have
64-bit get_user() these days, therefore my patch is required anyways,
but it's not an acute problem.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 17:58                         ` John Paul Adrian Glaubitz
@ 2020-06-05 18:23                           ` Geert Uytterhoeven
  2020-06-06  0:50                             ` Andrew Morton
  0 siblings, 1 reply; 35+ messages in thread
From: Geert Uytterhoeven @ 2020-06-05 18:23 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Rich Felker, Christoph Hellwig, Arnd Bergmann, Linux-sh list,
	Yoshinori Sato, Linux Kernel Mailing List, Al Viro, Rob Landley,
	Linus Torvalds, Andrew Morton

Hi Adrian,

On Fri, Jun 5, 2020 at 7:58 PM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
> On 6/5/20 5:59 PM, Rich Felker wrote:
> >> Ah, sorry, I missed that. You're right, it should probably go through
> >> someone else's tree then.
> >
> > Do you know if it's needed to un-break sh4? If so we should push to
> > get whoever has jurisdiction over it to include it; otherwise I'm
> > indifferent.

I think the above is about the asm-generic/vmlinux.lds.h patch?
https://marc.info/?l=linux-sh&m=158429470221261&w=2

That one falls under Arnd's jurisdiction.
And AFAIUC, it matters for recent binutils only? So Arnd should know.

> No, the patch is only necessary when enabling Infiniband support with
> CONFIG_INFINIBAND_USER_ACCESS enabled.
>
> However, according to Geert, every architecture is supposed to have
> 64-bit get_user() these days, therefore my patch is required anyways,
> but it's not an acute problem.

This is about a different patch.  Still a build failure, but who cares about
Infiniband? (I still care more about SH ;-)

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [GIT PULL] sh: remove sh5 support
  2020-06-05 18:23                           ` Geert Uytterhoeven
@ 2020-06-06  0:50                             ` Andrew Morton
  0 siblings, 0 replies; 35+ messages in thread
From: Andrew Morton @ 2020-06-06  0:50 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: John Paul Adrian Glaubitz, Rich Felker, Christoph Hellwig,
	Arnd Bergmann, Linux-sh list, Yoshinori Sato,
	Linux Kernel Mailing List, Al Viro, Rob Landley, Linus Torvalds

On Fri, 5 Jun 2020 20:23:07 +0200 Geert Uytterhoeven <geert@linux-m68k.org> wrote:

> Hi Adrian,
> 
> On Fri, Jun 5, 2020 at 7:58 PM John Paul Adrian Glaubitz
> <glaubitz@physik.fu-berlin.de> wrote:
> > On 6/5/20 5:59 PM, Rich Felker wrote:
> > >> Ah, sorry, I missed that. You're right, it should probably go through
> > >> someone else's tree then.
> > >
> > > Do you know if it's needed to un-break sh4? If so we should push to
> > > get whoever has jurisdiction over it to include it; otherwise I'm
> > > indifferent.
> 
> I think the above is about the asm-generic/vmlinux.lds.h patch?
> https://marc.info/?l=linux-sh&m=158429470221261&w=2
> 
> That one falls under Arnd's jurisdiction.
> And AFAIUC, it matters for recent binutils only? So Arnd should know.
> 

Aligning RO_AFTER_INIT_DATA is simply a no-brainer:

--- a/include/asm-generic/vmlinux.lds.h~include-asm-generic-vmlinuxldsh-align-ro_after_init
+++ a/include/asm-generic/vmlinux.lds.h
@@ -374,6 +374,7 @@
  */
 #ifndef RO_AFTER_INIT_DATA
 #define RO_AFTER_INIT_DATA						\
+	. = ALIGN(8);							\
 	__start_ro_after_init = .;					\
 	*(.data..ro_after_init)						\
 	JUMP_TABLE_DATA							\

So I'll send this in to Linus for 5.8-rc1.  And I think I'll add a cc:stable to
it, so people can use older kernels with newer toolchains.


I still have a few other sh patches sitting here:

https://ozlabs.org/~akpm/mmotm/broken-out/sh-clkfwk-remove-r8-r16-r32.patch
https://ozlabs.org/~akpm/mmotm/broken-out/sh-remove-call-to-memset-after-dma_alloc_coherent.patch
https://ozlabs.org/~akpm/mmotm/broken-out/sh-use-generic-strncpy.patch
https://ozlabs.org/~akpm/mmotm/broken-out/sh-add-missing-export_symbol-for-__delay.patch

What should I do with those?

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

end of thread, other threads:[~2020-06-06  0:50 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 22:19 [GIT PULL] sh: remove sh5 support Arnd Bergmann
2020-04-24 22:19 ` [PATCH 1/1] " Arnd Bergmann
2020-05-07 14:35 ` [GIT PULL] " Christoph Hellwig
2020-05-28  5:46   ` Christoph Hellwig
2020-05-28  5:55     ` John Paul Adrian Glaubitz
2020-05-28  9:40       ` Rob Landley
2020-05-28 16:14     ` Rich Felker
2020-05-28 22:14       ` Rich Felker
2020-05-28 22:28         ` Rob Landley
2020-05-28 22:32         ` John Paul Adrian Glaubitz
2020-05-28 22:37           ` Rich Felker
2020-05-29 14:35         ` Christoph Hellwig
2020-05-29 14:30       ` Christoph Hellwig
2020-05-29 17:53         ` Rich Felker
2020-05-29 18:22           ` Christoph Hellwig
2020-05-30  8:08           ` John Paul Adrian Glaubitz
2020-05-30  8:47             ` Geert Uytterhoeven
2020-05-31  3:20             ` Rob Landley
2020-05-31  8:03               ` John Paul Adrian Glaubitz
2020-06-01  2:55                 ` Rich Felker
2020-06-01  8:16                   ` John Paul Adrian Glaubitz
2020-06-01 18:13             ` Rich Felker
2020-06-01 21:12               ` Arnd Bergmann
2020-06-02  1:33               ` Rich Felker
2020-06-02  2:49                 ` Andrew Morton
2020-06-02  2:53                   ` Rich Felker
2020-06-03  7:27                 ` John Paul Adrian Glaubitz
2020-06-03  7:31                   ` John Paul Adrian Glaubitz
2020-06-05 15:38                 ` John Paul Adrian Glaubitz
2020-06-05 15:43                   ` Rich Felker
2020-06-05 15:47                     ` John Paul Adrian Glaubitz
2020-06-05 15:59                       ` Rich Felker
2020-06-05 17:58                         ` John Paul Adrian Glaubitz
2020-06-05 18:23                           ` Geert Uytterhoeven
2020-06-06  0:50                             ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).