Merge tag 'arch-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Apr 2018 03:20:12 +0000 (20:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Apr 2018 03:20:12 +0000 (20:20 -0700)
Pul removal of obsolete architecture ports from Arnd Bergmann:
 "This removes the entire architecture code for blackfin, cris, frv,
  m32r, metag, mn10300, score, and tile, including the associated device
  drivers.

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

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

  [ See the new nds32 port merged in the previous commit for the next
    generation of "one company in charge of an SoC line, a CPU
    microarchitecture and a software ecosystem"   - Linus ]

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

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

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

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

  [ Palmer Dabbelt points out that RISC-V support is in mainline gcc
    since gcc-7, although gcc-7.3.0 is the recommended minimum  - Linus ]"

This really says it all:

 2498 files changed, 95 insertions(+), 467668 deletions(-)

* tag 'arch-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (74 commits)
  MAINTAINERS: UNICORE32: Change email account
  staging: iio: remove iio-trig-bfin-timer driver
  tty: hvc: remove tile driver
  tty: remove bfin_jtag_comm and hvc_bfin_jtag drivers
  serial: remove tile uart driver
  serial: remove m32r_sio driver
  serial: remove blackfin drivers
  serial: remove cris/etrax uart drivers
  usb: Remove Blackfin references in USB support
  usb: isp1362: remove blackfin arch glue
  usb: musb: remove blackfin port
  usb: host: remove tilegx platform glue
  pwm: remove pwm-bfin driver
  i2c: remove bfin-twi driver
  spi: remove blackfin related host drivers
  watchdog: remove bfin_wdt driver
  can: remove bfin_can driver
  mmc: remove bfin_sdh driver
  input: misc: remove blackfin rotary driver
  input: keyboard: remove bf54x driver
  ...

18 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
Makefile
drivers/clocksource/Kconfig
drivers/clocksource/Makefile
drivers/irqchip/Makefile
drivers/net/ethernet/8390/Kconfig
drivers/pci/quirks.c
drivers/usb/host/ohci-hcd.c
drivers/usb/musb/musb_core.c
drivers/video/console/Kconfig
include/asm-generic/io.h
include/uapi/asm-generic/siginfo.h
kernel/module.c
lib/Kconfig.debug
mm/page_alloc.c
mm/percpu.c
mm/sparse.c

diff --cc MAINTAINERS
@@@ -868,19 -866,7 +868,18 @@@ F:       drivers/iio/*/ad
  F:    drivers/iio/adc/ltc2497*
  X:    drivers/iio/*/adjd*
  F:    drivers/staging/iio/*/ad*
- F:    drivers/staging/iio/trigger/iio-trig-bfin-timer.c
  
 +ANDES ARCHITECTURE
 +M:    Greentime Hu <green.hu@gmail.com>
 +M:    Vincent Chen <deanbo422@gmail.com>
 +T:    git https://github.com/andestech/linux.git
 +S:    Supported
 +F:    arch/nds32/
 +F:    Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt
 +F:    Documentation/devicetree/bindings/nds32/
 +K:    nds32
 +N:    nds32
 +
  ANDROID CONFIG FRAGMENTS
  M:    Rob Herring <robh@kernel.org>
  S:    Supported
diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -6,10 -6,9 +6,9 @@@ menu "Console display driver support
  
  config VGA_CONSOLE
        bool "VGA text console" if EXPERT || !X86
-       depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !FRV && \
-               !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
+       depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC &&  !SUPERH && \
                (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
 -              !ARM64 && !ARC && !MICROBLAZE && !OPENRISC
 +              !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !NDS32
        default y
        help
          Saying Y here will allow you to use Linux in text mode through a
Simple merge
Simple merge
diff --cc kernel/module.c
Simple merge
@@@ -1107,80 -1164,6 +1104,80 @@@ config LOCK_STA
         CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
         (CONFIG_LOCKDEP defines "acquire" and "release" events.)
  
-       select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE && !ARC && !SCORE && !X86
 +config DEBUG_RT_MUTEXES
 +      bool "RT Mutex debugging, deadlock detection"
 +      depends on DEBUG_KERNEL && RT_MUTEXES
 +      help
 +       This allows rt mutex semantics violations and rt mutex related
 +       deadlocks (lockups) to be detected and reported automatically.
 +
 +config DEBUG_SPINLOCK
 +      bool "Spinlock and rw-lock debugging: basic checks"
 +      depends on DEBUG_KERNEL
 +      select UNINLINE_SPIN_UNLOCK
 +      help
 +        Say Y here and build SMP to catch missing spinlock initialization
 +        and certain other kinds of spinlock errors commonly made.  This is
 +        best used in conjunction with the NMI watchdog so that spinlock
 +        deadlocks are also debuggable.
 +
 +config DEBUG_MUTEXES
 +      bool "Mutex debugging: basic checks"
 +      depends on DEBUG_KERNEL
 +      help
 +       This feature allows mutex semantics violations to be detected and
 +       reported.
 +
 +config DEBUG_WW_MUTEX_SLOWPATH
 +      bool "Wait/wound mutex debugging: Slowpath testing"
 +      depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
 +      select DEBUG_LOCK_ALLOC
 +      select DEBUG_SPINLOCK
 +      select DEBUG_MUTEXES
 +      help
 +       This feature enables slowpath testing for w/w mutex users by
 +       injecting additional -EDEADLK wound/backoff cases. Together with
 +       the full mutex checks enabled with (CONFIG_PROVE_LOCKING) this
 +       will test all possible w/w mutex interface abuse with the
 +       exception of simply not acquiring all the required locks.
 +       Note that this feature can introduce significant overhead, so
 +       it really should not be enabled in a production or distro kernel,
 +       even a debug kernel.  If you are a driver writer, enable it.  If
 +       you are a distro, do not.
 +
 +config DEBUG_RWSEMS
 +      bool "RW Semaphore debugging: basic checks"
 +      depends on DEBUG_KERNEL && RWSEM_SPIN_ON_OWNER
 +      help
 +        This debugging feature allows mismatched rw semaphore locks and unlocks
 +        to be detected and reported.
 +
 +config DEBUG_LOCK_ALLOC
 +      bool "Lock debugging: detect incorrect freeing of live locks"
 +      depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
 +      select DEBUG_SPINLOCK
 +      select DEBUG_MUTEXES
 +      select DEBUG_RT_MUTEXES if RT_MUTEXES
 +      select LOCKDEP
 +      help
 +       This feature will check whether any held lock (spinlock, rwlock,
 +       mutex or rwsem) is incorrectly freed by the kernel, via any of the
 +       memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
 +       vfree(), etc.), whether a live lock is incorrectly reinitialized via
 +       spin_lock_init()/mutex_init()/etc., or whether there is any lock
 +       held during task exit.
 +
 +config LOCKDEP
 +      bool
 +      depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
 +      select STACKTRACE
++      select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE && !ARC && !X86
 +      select KALLSYMS
 +      select KALLSYMS_ALL
 +
 +config LOCKDEP_SMALL
 +      bool
 +
  config DEBUG_LOCKDEP
        bool "Lock dependency engine debugging"
        depends on DEBUG_KERNEL && LOCKDEP
diff --cc mm/page_alloc.c
Simple merge
diff --cc mm/percpu.c
Simple merge
diff --cc mm/sparse.c
Simple merge