Merge tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 22 Sep 2019 16:30:30 +0000 (09:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 22 Sep 2019 16:30:30 +0000 (09:30 -0700)
Pull MIPS updates from Paul Burton:
 "Main MIPS changes:

   - boot_mem_map is removed, providing a nice cleanup made possible by
     the recent removal of bootmem.

   - Some fixes to atomics, in general providing compiler barriers for
     smp_mb__{before,after}_atomic plus fixes specific to Loongson CPUs
     or MIPS32 systems using cmpxchg64().

   - Conversion to the new generic VDSO infrastructure courtesy of
     Vincenzo Frascino.

   - Removal of undefined behavior in set_io_port_base(), fixing the
     behavior of some MIPS kernel configurations when built with recent
     clang versions.

   - Initial MIPS32 huge page support, functional on at least Ingenic
     SoCs.

   - pte_special() is now supported for some configurations, allowing
     among other things generic fast GUP to be used.

   - Miscellaneous fixes & cleanups.

  And platform specific changes:

   - Major improvements to Ingenic SoC support from Paul Cercueil,
     mostly enabled by the inclusion of the new TCU (timer-counter unit)
     drivers he's spent a very patient year or so working on. Plus some
     fixes for X1000 SoCs from Zhou Yanjie.

   - Netgear R6200 v1 systems are now supported by the bcm47xx platform.

   - DT updates for BMIPS, Lantiq & Microsemi Ocelot systems"

* tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (89 commits)
  MIPS: Detect bad _PFN_SHIFT values
  MIPS: Disable pte_special() for MIPS32 with RiXi
  MIPS: ralink: deactivate PCI support for SOC_MT7621
  mips: compat: vdso: Use legacy syscalls as fallback
  MIPS: Drop Loongson _CACHE_* definitions
  MIPS: tlbex: Remove cpu_has_local_ebase
  MIPS: tlbex: Simplify r3k check
  MIPS: Select R3k-style TLB in Kconfig
  MIPS: PCI: refactor ioc3 special handling
  mips: remove ioremap_cachable
  mips/atomic: Fix smp_mb__{before,after}_atomic()
  mips/atomic: Fix loongson_llsc_mb() wreckage
  mips/atomic: Fix cmpxchg64 barriers
  MIPS: Octeon: remove duplicated include from dma-octeon.c
  firmware: bcm47xx_nvram: Allow COMPILE_TEST
  firmware: bcm47xx_nvram: Correct size_t printf format
  MIPS: Treat Loongson Extensions as ASEs
  MIPS: Remove dev_err() usage after platform_get_irq()
  MIPS: dts: mscc: describe the PTP ready interrupt
  MIPS: dts: mscc: describe the PTP register range
  ...

1  2 
Documentation/index.rst
Documentation/mips/index.rst
arch/mips/Kconfig
drivers/clk/ingenic/jz4740-cgu.c
drivers/clocksource/Kconfig
drivers/dma/Kconfig
drivers/hwmon/Kconfig
drivers/hwmon/Makefile
drivers/power/supply/Kconfig
drivers/video/fbdev/Kconfig
drivers/video/fbdev/Makefile

diff --combined Documentation/index.rst
@@@ -104,22 -104,16 +104,22 @@@ needed)
     fb/index
     fpga/index
     hid/index
 +   i2c/index
     iio/index
 +   isdn/index
     infiniband/index
     leds/index
     media/index
     netlabel/index
     networking/index
     pcmcia/index
 +   power/index
     target/index
     timers/index
 +   spi/index
 +   w1/index
     watchdog/index
 +   virt/index
     input/index
     hwmon/index
     gpu/index
@@@ -144,16 -138,12 +144,15 @@@ implementation
  .. toctree::
     :maxdepth: 2
  
--   sh/index
     arm/index
     arm64/index
     ia64/index
     m68k/index
-    powerpc/index
     mips/index
 +   nios2/nios2
 +   openrisc/index
 +   parisc/index
++   powerpc/index
     riscv/index
     s390/index
     sh/index
@@@ -1,17 -1,11 +1,20 @@@
  .. SPDX-License-Identifier: GPL-2.0
  
- =================
- MIPS architecture
- =================
+ ===========================
+ MIPS-specific Documentation
+ ===========================
  
  .. toctree::
 -   :maxdepth: 1
 +   :maxdepth: 2
+    :numbered:
+    ingenic-tcu
 +
 +   au1xxx_ide
 +
 +.. only::  subproject and html
 +
 +   Indices
 +   =======
 +
 +   * :ref:`genindex`
diff --combined arch/mips/Kconfig
@@@ -22,6 -22,7 +22,7 @@@ config MIP
        select GENERIC_CLOCKEVENTS
        select GENERIC_CMOS_UPDATE
        select GENERIC_CPU_AUTOPROBE
+       select GENERIC_GETTIMEOFDAY
        select GENERIC_IOMAP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
@@@ -43,8 -44,7 +44,8 @@@
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
-       select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
+       select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES
 +      select HAVE_ASM_MODVERSIONS
        select HAVE_EBPF_JIT if (!CPU_MICROMIPS)
        select HAVE_CONTEXT_TRACKING
        select HAVE_COPY_THREAD_TLS
@@@ -75,6 -75,7 +76,7 @@@
        select HAVE_STACKPROTECTOR
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
+       select HAVE_GENERIC_VDSO
        select IRQ_FORCED_THREADING
        select ISA if EISA
        select MODULES_USE_ELF_RELA if MODULES && 64BIT
@@@ -83,6 -84,7 +85,7 @@@
        select RTC_LIB
        select SYSCTL_EXCEPTION_TRACE
        select VIRT_TO_BUS
+       select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI)
  
  menu "Machine selection"
  
@@@ -385,6 -387,7 +388,7 @@@ config MACH_INGENI
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_ZBOOT_UART16550
+       select CPU_SUPPORTS_HUGEPAGES
        select DMA_NONCOHERENT
        select IRQ_MIPS_CPU
        select PINCTRL
@@@ -1120,14 -1123,7 +1124,14 @@@ config DMA_PERDEV_COHEREN
  
  config DMA_NONCOHERENT
        bool
 -      select ARCH_HAS_DMA_MMAP_PGPROT
 +      #
 +      # MIPS allows mixing "slightly different" Cacheability and Coherency
 +      # Attribute bits.  It is believed that the uncached access through
 +      # KSEG1 and the implementation specific "uncached accelerated" used
 +      # by pgprot_writcombine can be mixed, and the latter sometimes provides
 +      # significant advantages.
 +      #
 +      select ARCH_HAS_DMA_WRITE_COMBINE
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
        select ARCH_HAS_UNCACHED_SEGMENT
        select NEED_DMA_MAP_STATE
@@@ -1231,7 -1227,7 +1235,7 @@@ config SYS_SUPPORTS_LITTLE_ENDIA
  
  config SYS_SUPPORTS_HUGETLBFS
        bool
-       depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
+       depends on CPU_SUPPORTS_HUGEPAGES
        default y
  
  config MIPS_HUGE_TLB_SUPPORT
@@@ -1579,6 -1575,7 +1583,7 @@@ config CPU_R300
        depends on SYS_HAS_CPU_R3000
        select CPU_HAS_WB
        select CPU_HAS_LOAD_STORE_LR
+       select CPU_R3K_TLB
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        help
@@@ -1594,6 -1591,7 +1599,7 @@@ config CPU_TX39X
        depends on SYS_HAS_CPU_TX39XX
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_HAS_LOAD_STORE_LR
+       select CPU_R3K_TLB
  
  config CPU_VR41XX
        bool "R41xx"
          kernel built with this option will not run on any other type of
          processor or vice versa.
  
- config CPU_R4300
-       bool "R4300"
-       depends on SYS_HAS_CPU_R4300
-       select CPU_SUPPORTS_32BIT_KERNEL
-       select CPU_SUPPORTS_64BIT_KERNEL
-       select CPU_HAS_LOAD_STORE_LR
-       help
-         MIPS Technologies R4300-series processors.
  config CPU_R4X00
        bool "R4x00"
        depends on SYS_HAS_CPU_R4X00
@@@ -1646,14 -1635,6 +1643,6 @@@ config CPU_R500
        help
          MIPS Technologies R5000-series processors other than the Nevada.
  
- config CPU_R5432
-       bool "R5432"
-       depends on SYS_HAS_CPU_R5432
-       select CPU_SUPPORTS_32BIT_KERNEL
-       select CPU_SUPPORTS_64BIT_KERNEL
-       select CPU_SUPPORTS_HUGEPAGES
-       select CPU_HAS_LOAD_STORE_LR
  config CPU_R5500
        bool "R5500"
        depends on SYS_HAS_CPU_R5500
@@@ -1675,16 -1656,6 +1664,6 @@@ config CPU_NEVAD
        help
          QED / PMC-Sierra RM52xx-series ("Nevada") processors.
  
- config CPU_R8000
-       bool "R8000"
-       depends on SYS_HAS_CPU_R8000
-       select CPU_HAS_PREFETCH
-       select CPU_HAS_LOAD_STORE_LR
-       select CPU_SUPPORTS_64BIT_KERNEL
-       help
-         MIPS Technologies R8000 processors.  Note these processors are
-         uncommon and the support for them is incomplete.
  config CPU_R10000
        bool "R10000"
        depends on SYS_HAS_CPU_R10000
@@@ -1977,9 -1948,6 +1956,6 @@@ config SYS_HAS_CPU_TX39X
  config SYS_HAS_CPU_VR41XX
        bool
  
- config SYS_HAS_CPU_R4300
-       bool
  config SYS_HAS_CPU_R4X00
        bool
  
@@@ -1989,18 -1957,12 +1965,12 @@@ config SYS_HAS_CPU_TX49X
  config SYS_HAS_CPU_R5000
        bool
  
- config SYS_HAS_CPU_R5432
-       bool
  config SYS_HAS_CPU_R5500
        bool
  
  config SYS_HAS_CPU_NEVADA
        bool
  
- config SYS_HAS_CPU_R8000
-       bool
  config SYS_HAS_CPU_R10000
        bool
        select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
@@@ -2118,6 -2080,7 +2088,7 @@@ config CPU_SUPPORTS_ADDRWINCF
        bool
  config CPU_SUPPORTS_HUGEPAGES
        bool
+       depends on !(32BIT && (ARCH_PHYS_ADDR_T_64BIT || EVA))
  config CPU_SUPPORTS_UNCACHED_ACCELERATED
        bool
  config MIPS_PGD_C0_CONTEXT
@@@ -2200,13 -2163,13 +2171,13 @@@ config PAGE_SIZE_4K
  
  config PAGE_SIZE_8KB
        bool "8kB"
-       depends on CPU_R8000 || CPU_CAVIUM_OCTEON
+       depends on CPU_CAVIUM_OCTEON
        depends on !MIPS_VA_BITS_48
        help
          Using 8kB page size will result in higher performance kernel at
          the price of higher memory consumption.  This option is available
-         only on R8000 and cnMIPS processors.  Note that you will need a
-         suitable Linux distribution to support this.
+         only on cnMIPS processors.  Note that you will need a suitable Linux
+         distribution to support this.
  
  config PAGE_SIZE_16KB
        bool "16kB"
@@@ -2297,7 -2260,7 +2268,7 @@@ config CPU_HAS_PREFETC
  
  config CPU_GENERIC_DUMP_TLB
        bool
-       default y if !(CPU_R3000 || CPU_R8000 || CPU_TX39XX)
+       default y if !(CPU_R3000 || CPU_TX39XX)
  
  config MIPS_FP_SUPPORT
        bool "Floating Point support" if EXPERT
@@@ -2319,6 -2282,9 +2290,9 @@@ config CPU_R2300_FP
        depends on MIPS_FP_SUPPORT
        default y if CPU_R3000 || CPU_TX39XX
  
+ config CPU_R3K_TLB
+       bool
  config CPU_R4K_FPU
        bool
        depends on MIPS_FP_SUPPORT
  
  config CPU_R4K_CACHE_TLB
        bool
-       default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
+       default y if !(CPU_R3K_TLB || CPU_SB1 || CPU_CAVIUM_OCTEON)
  
  config MIPS_MT_SMP
        bool "MIPS MT SMP support (1 TC on each available VPE)"
@@@ -2583,7 -2549,6 +2557,6 @@@ config CPU_R4400_WORKAROUND
  config MIPS_ASID_SHIFT
        int
        default 6 if CPU_R3000 || CPU_TX39XX
-       default 4 if CPU_R8000
        default 0
  
  config MIPS_ASID_BITS
@@@ -3077,10 -3042,6 +3050,6 @@@ config STACKTRACE_SUPPOR
        bool
        default y
  
- config HAVE_LATENCYTOP_SUPPORT
-       bool
-       default y
  config PGTABLE_LEVELS
        int
        default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48
@@@ -53,10 -53,6 +53,10 @@@ static const u8 jz4740_cgu_cpccr_div_ta
        1, 2, 3, 4, 6, 8, 12, 16, 24, 32,
  };
  
 +static const u8 jz4740_cgu_pll_half_div_table[] = {
 +      2, 1,
 +};
 +
  static const struct ingenic_cgu_clk_info jz4740_cgu_clocks[] = {
  
        /* External clocks */
        [JZ4740_CLK_PLL_HALF] = {
                "pll half", CGU_CLK_DIV,
                .parents = { JZ4740_CLK_PLL, -1, -1, -1 },
 -              .div = { CGU_REG_CPCCR, 21, 1, 1, -1, -1, -1 },
 +              .div = {
 +                      CGU_REG_CPCCR, 21, 1, 1, -1, -1, -1,
 +                      jz4740_cgu_pll_half_div_table,
 +              },
        },
  
        [JZ4740_CLK_CCLK] = {
                .parents = { JZ4740_CLK_EXT, -1, -1, -1 },
                .gate = { CGU_REG_CLKGR, 5 },
        },
+       [JZ4740_CLK_TCU] = {
+               "tcu", CGU_CLK_GATE,
+               .parents = { JZ4740_CLK_EXT, -1, -1, -1 },
+               .gate = { CGU_REG_CLKGR, 1 },
+       },
  };
  
  static void __init jz4740_cgu_init(struct device_node *np)
  
        ingenic_cgu_register_syscore_ops(cgu);
  }
 -CLK_OF_DECLARE(jz4740_cgu, "ingenic,jz4740-cgu", jz4740_cgu_init);
 +CLK_OF_DECLARE_DRIVER(jz4740_cgu, "ingenic,jz4740-cgu", jz4740_cgu_init);
@@@ -429,7 -429,7 +429,7 @@@ config ATMEL_S
  
  config ATMEL_TCB_CLKSRC
        bool "Atmel TC Block timer driver" if COMPILE_TEST
 -      depends on HAS_IOMEM
 +      depends on ARM && HAS_IOMEM
        select TIMER_OF if OF
        help
          Support for Timer Counter Blocks on Atmel SoCs.
@@@ -685,4 -685,15 +685,15 @@@ config MILBEAUT_TIME
        help
          Enables the support for Milbeaut timer driver.
  
+ config INGENIC_TIMER
+       bool "Clocksource/timer using the TCU in Ingenic JZ SoCs"
+       default MACH_INGENIC
+       depends on MIPS || COMPILE_TEST
+       depends on COMMON_CLK
+       select MFD_SYSCON
+       select TIMER_OF
+       select IRQ_DOMAIN
+       help
+         Support for the timer/counter unit of the Ingenic JZ SoCs.
  endmenu
diff --combined drivers/dma/Kconfig
@@@ -137,12 -137,6 +137,6 @@@ config DMA_BCM283
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
  
- config DMA_JZ4740
-       tristate "JZ4740 DMA support"
-       depends on MACH_JZ4740 || COMPILE_TEST
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
  config DMA_JZ4780
        tristate "JZ4780 DMA support"
        depends on MIPS || COMPILE_TEST
@@@ -294,8 -288,8 +288,8 @@@ config INTEL_IOATDM
          If unsure, say N.
  
  config INTEL_IOP_ADMA
 -      tristate "Intel IOP ADMA support"
 -      depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
 +      tristate "Intel IOP32x ADMA support"
 +      depends on ARCH_IOP32X || COMPILE_TEST
        select DMA_ENGINE
        select ASYNC_TX_ENABLE_CHANNEL_SWITCH
        help
diff --combined drivers/hwmon/Kconfig
@@@ -246,16 -246,6 +246,16 @@@ config SENSORS_ADT747
          This driver can also be built as a module. If so, the module
          will be called adt7475.
  
 +config SENSORS_AS370
 +      tristate "Synaptics AS370 SoC hardware monitoring driver"
 +      help
 +        If you say yes here you get support for the PVT sensors of
 +        the Synaptics AS370 SoC
 +
 +        This driver can also be built as a module. If so, the module
 +        will be called as370-hwmon.
 +
 +
  config SENSORS_ASC7621
        tristate "Andigilog aSC7621"
        depends on I2C
@@@ -670,16 -660,6 +670,6 @@@ config SENSORS_IT8
          This driver can also be built as a module. If so, the module
          will be called it87.
  
- config SENSORS_JZ4740
-       tristate "Ingenic JZ4740 SoC ADC driver"
-       depends on MACH_JZ4740 && MFD_JZ4740_ADC
-       help
-         If you say yes here you get support for reading adc values from the ADCIN
-         pin on Ingenic JZ4740 SoC based boards.
-         This driver can also be built as a module. If so, the module will be
-         called jz4740-hwmon.
  config SENSORS_JC42
        tristate "JEDEC JC42.4 compliant memory module temperature sensors"
        depends on I2C
@@@ -1392,8 -1372,8 +1382,8 @@@ config SENSORS_SHTC
        tristate "Sensiron humidity and temperature sensors. SHTC1 and compat."
        depends on I2C
        help
 -        If you say yes here you get support for the Sensiron SHTC1 and SHTW1
 -        humidity and temperature sensors.
 +        If you say yes here you get support for the Sensiron SHTC1, SHTW1,
 +        and SHTC3 humidity and temperature sensors.
  
          This driver can also be built as a module. If so, the module
          will be called shtc1.
@@@ -1580,6 -1560,16 +1570,6 @@@ config SENSORS_ADC128D81
          This driver can also be built as a module. If so, the module
          will be called adc128d818.
  
 -config SENSORS_ADS1015
 -      tristate "Texas Instruments ADS1015"
 -      depends on I2C
 -      help
 -        If you say yes here you get support for Texas Instruments
 -        ADS1015/ADS1115 12/16-bit 4-input ADC device.
 -
 -        This driver can also be built as a module. If so, the module
 -        will be called ads1015.
 -
  config SENSORS_ADS7828
        tristate "Texas Instruments ADS7828 and compatibles"
        depends on I2C
@@@ -1834,12 -1824,17 +1824,12 @@@ config SENSORS_W8379
          will be called w83795.
  
  config SENSORS_W83795_FANCTRL
 -      bool "Include automatic fan control support (DANGEROUS)"
 +      bool "Include automatic fan control support"
        depends on SENSORS_W83795
        help
          If you say yes here, support for automatic fan speed control
          will be included in the driver.
  
 -        This part of the code wasn't carefully reviewed and tested yet,
 -        so enabling this option is strongly discouraged on production
 -        servers. Only developers and testers should enable it for the
 -        time being.
 -
          Please also note that this option will create sysfs attribute
          files which may change in the future, so you shouldn't rely
          on them being stable.
diff --combined drivers/hwmon/Makefile
@@@ -35,6 -35,7 +35,6 @@@ obj-$(CONFIG_SENSORS_ADM1026) += adm102
  obj-$(CONFIG_SENSORS_ADM1029) += adm1029.o
  obj-$(CONFIG_SENSORS_ADM1031) += adm1031.o
  obj-$(CONFIG_SENSORS_ADM9240) += adm9240.o
 -obj-$(CONFIG_SENSORS_ADS1015) += ads1015.o
  obj-$(CONFIG_SENSORS_ADS7828) += ads7828.o
  obj-$(CONFIG_SENSORS_ADS7871) += ads7871.o
  obj-$(CONFIG_SENSORS_ADT7X10) += adt7x10.o
@@@ -47,7 -48,6 +47,7 @@@ obj-$(CONFIG_SENSORS_ADT7475) += adt747
  obj-$(CONFIG_SENSORS_APPLESMC)        += applesmc.o
  obj-$(CONFIG_SENSORS_ARM_SCMI)        += scmi-hwmon.o
  obj-$(CONFIG_SENSORS_ARM_SCPI)        += scpi-hwmon.o
 +obj-$(CONFIG_SENSORS_AS370)   += as370-hwmon.o
  obj-$(CONFIG_SENSORS_ASC7621) += asc7621.o
  obj-$(CONFIG_SENSORS_ASPEED)  += aspeed-pwm-tacho.o
  obj-$(CONFIG_SENSORS_ATXP1)   += atxp1.o
@@@ -85,7 -85,6 +85,6 @@@ obj-$(CONFIG_SENSORS_INA2XX)  += ina2xx.
  obj-$(CONFIG_SENSORS_INA3221) += ina3221.o
  obj-$(CONFIG_SENSORS_IT87)    += it87.o
  obj-$(CONFIG_SENSORS_JC42)    += jc42.o
- obj-$(CONFIG_SENSORS_JZ4740)  += jz4740-hwmon.o
  obj-$(CONFIG_SENSORS_K8TEMP)  += k8temp.o
  obj-$(CONFIG_SENSORS_K10TEMP) += k10temp.o
  obj-$(CONFIG_SENSORS_LINEAGE) += lineage-pem.o
@@@ -417,17 -417,6 +417,6 @@@ config CHARGER_PCF5063
        help
         Say Y to include support for NXP PCF50633 Main Battery Charger.
  
- config BATTERY_JZ4740
-       tristate "Ingenic JZ4740 battery"
-       depends on MACH_JZ4740
-       depends on MFD_JZ4740_ADC
-       help
-         Say Y to enable support for the battery on Ingenic JZ4740 based
-         boards.
-         This driver can be build as a module. If so, the module will be
-         called jz4740-battery.
  config BATTERY_RX51
        tristate "Nokia RX-51 (N900) battery driver"
        depends on TWL4030_MADC
@@@ -670,7 -659,7 +659,7 @@@ config CHARGER_RT945
  
  config CHARGER_CROS_USBPD
        tristate "ChromeOS EC based USBPD charger"
 -      depends on MFD_CROS_EC
 +      depends on CROS_EC
        default n
        help
          Say Y here to enable ChromeOS EC based USBPD charger
@@@ -1924,6 -1924,20 +1924,6 @@@ config FB_S3C2410_DEBU
          Turn on debugging messages. Note that you can set/unset at run time
          through sysfs
  
 -config FB_NUC900
 -      tristate "NUC900 LCD framebuffer support"
 -      depends on FB && ARCH_W90X900
 -      select FB_CFB_FILLRECT
 -      select FB_CFB_COPYAREA
 -      select FB_CFB_IMAGEBLIT
 -      ---help---
 -        Frame buffer driver for the built-in LCD controller in the Nuvoton
 -        NUC900 processor
 -
 -config GPM1040A0_320X240
 -      bool "Giantplus Technology GPM1040A0 320x240 Color TFT LCD"
 -      depends on FB_NUC900
 -
  config FB_SM501
        tristate "Silicon Motion SM501 framebuffer support"
        depends on FB && MFD_SM501
@@@ -2197,15 -2211,6 +2197,6 @@@ config FB_BROADSHEE
          and could also have been called by other names when coupled with
          a bridge adapter.
  
- config FB_JZ4740
-       tristate "JZ4740 LCD framebuffer support"
-       depends on FB && MACH_JZ4740
-       select FB_SYS_FILLRECT
-       select FB_SYS_COPYAREA
-       select FB_SYS_IMAGEBLIT
-       help
-         Framebuffer support for the JZ4740 SoC.
  config FB_PUV3_UNIGFX
        tristate "PKUnity v3 Unigfx framebuffer support"
        depends on FB && UNICORE32 && ARCH_PUV3
@@@ -116,7 -116,7 +116,6 @@@ obj-y                             += om
  obj-$(CONFIG_XEN_FBDEV_FRONTEND)  += xen-fbfront.o
  obj-$(CONFIG_FB_CARMINE)          += carminefb.o
  obj-$(CONFIG_FB_MB862XX)        += mb862xx/
- obj-$(CONFIG_FB_JZ4740)                 += jz4740_fb.o
 -obj-$(CONFIG_FB_NUC900)           += nuc900fb.o
  obj-$(CONFIG_FB_PUV3_UNIGFX)      += fb-puv3.o
  obj-$(CONFIG_FB_HYPERV)                 += hyperv_fb.o
  obj-$(CONFIG_FB_OPENCORES)      += ocfb.o