Merge branch 'for-rmk/samsung5' of git://git.fluff.org/bjdooks/linux into devel-stable
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 2 Mar 2010 23:40:15 +0000 (23:40 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 2 Mar 2010 23:40:15 +0000 (23:40 +0000)
Conflicts:
arch/arm/Kconfig
arch/arm/Makefile

1  2 
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-s3c64xx/mach-hmt.c
drivers/serial/Kconfig

diff --combined arch/arm/Kconfig
@@@ -310,9 -310,10 +310,9 @@@ config ARCH_MX
        bool "Freescale MXC/iMX-based"
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
 -      select ARCH_MTD_XIP
 -      select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
 +      select COMMON_CLKDEV
        help
          Support for Freescale MXC/iMX-based family of processors
  
@@@ -496,7 -497,7 +496,7 @@@ config ARCH_ORION5
          Orion-2 (5281), Orion-1-90 (6183).
  
  config ARCH_MMP
 -      bool "Marvell PXA168/910"
 +      bool "Marvell PXA168/910/MMP2"
        depends on MMU
        select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select TICK_ONESHOT
        select PLAT_PXA
        help
 -        Support for Marvell's PXA168/910 processor line.
 +        Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
  
  config ARCH_KS8695
        bool "Micrel/Kendin KS8695"
@@@ -583,11 -584,6 +583,11 @@@ config ARCH_MS
          interface to the ARM9 modem processor which runs the baseband stack
          and controls some vital subsystems (clock and power control, etc).
  
 +config ARCH_SHMOBILE
 +      bool "Renesas SH-Mobile"
 +      help
 +        Support for Renesas's SH-Mobile ARM platforms
 +
  config ARCH_RPC
        bool "RiscPC"
        select ARCH_ACORN
@@@ -631,9 -627,24 +631,24 @@@ config ARCH_S3C241
  
  config ARCH_S3C64XX
        bool "Samsung S3C64XX"
+       select PLAT_SAMSUNG
+       select CPU_V6
        select GENERIC_GPIO
+       select ARM_VIC
        select HAVE_CLK
+       select NO_IOPORT
        select ARCH_HAS_CPUFREQ
+       select ARCH_REQUIRE_GPIOLIB
+       select SAMSUNG_CLKSRC
+       select SAMSUNG_IRQ_VIC_TIMER
+       select SAMSUNG_IRQ_UART
+       select S3C_GPIO_TRACK
+       select S3C_GPIO_PULL_UPDOWN
+       select S3C_GPIO_CFG_S3C24XX
+       select S3C_GPIO_CFG_S3C64XX
+       select S3C_DEV_NAND
+       select USB_ARCH_HAS_OHCI
+       select SAMSUNG_GPIOLIB_4BIT
        help
          Samsung S3C64XX series based systems
  
@@@ -645,6 -656,14 +660,14 @@@ config ARCH_S5P644
        help
          Samsung S5P6440 CPU based systems
  
+ config ARCH_S5P6442
+       bool "Samsung S5P6442"
+       select CPU_V6
+       select GENERIC_GPIO
+       select HAVE_CLK
+       help
+         Samsung S5P6442 CPU based systems
  config ARCH_S5PC1XX
        bool "Samsung S5PC1XX"
        select GENERIC_GPIO
        help
          Samsung S5PC1XX series based systems
  
+ config ARCH_S5PV210
+       bool "Samsung S5PV210/S5PC110"
+       select CPU_V7
+       select GENERIC_GPIO
+       select HAVE_CLK
+       select ARM_L1_CACHE_SHIFT_6
+       help
+         Samsung S5PV210/S5PC110 series based systems
  config ARCH_SHARK
        bool "Shark"
        select CPU_SA110
@@@ -714,7 -742,6 +746,7 @@@ config ARCH_OMA
        select ARCH_HAS_CPUFREQ
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
 +      select ARCH_HAS_HOLES_MEMORYMODEL
        help
          Support for TI's OMAP platform (OMAP1 and OMAP2).
  
@@@ -742,26 -769,14 +774,26 @@@ config ARCH_U850
  
  endchoice
  
 +source "arch/arm/mach-aaec2000/Kconfig"
 +
 +source "arch/arm/mach-at91/Kconfig"
 +
 +source "arch/arm/mach-bcmring/Kconfig"
 +
  source "arch/arm/mach-clps711x/Kconfig"
  
 +source "arch/arm/mach-davinci/Kconfig"
 +
 +source "arch/arm/mach-dove/Kconfig"
 +
  source "arch/arm/mach-ep93xx/Kconfig"
  
  source "arch/arm/mach-footbridge/Kconfig"
  
  source "arch/arm/mach-gemini/Kconfig"
  
 +source "arch/arm/mach-h720x/Kconfig"
 +
  source "arch/arm/mach-integrator/Kconfig"
  
  source "arch/arm/mach-iop32x/Kconfig"
@@@ -776,26 -791,16 +808,26 @@@ source "arch/arm/mach-ixp2000/Kconfig
  
  source "arch/arm/mach-ixp23xx/Kconfig"
  
 +source "arch/arm/mach-kirkwood/Kconfig"
 +
 +source "arch/arm/mach-ks8695/Kconfig"
 +
 +source "arch/arm/mach-lh7a40x/Kconfig"
 +
  source "arch/arm/mach-loki/Kconfig"
  
 +source "arch/arm/mach-msm/Kconfig"
 +
  source "arch/arm/mach-mv78xx0/Kconfig"
  
 -source "arch/arm/mach-pxa/Kconfig"
 -source "arch/arm/plat-pxa/Kconfig"
 +source "arch/arm/plat-mxc/Kconfig"
  
 -source "arch/arm/mach-mmp/Kconfig"
 +source "arch/arm/mach-netx/Kconfig"
  
 -source "arch/arm/mach-sa1100/Kconfig"
 +source "arch/arm/mach-nomadik/Kconfig"
 +source "arch/arm/plat-nomadik/Kconfig"
 +
 +source "arch/arm/mach-ns9xxx/Kconfig"
  
  source "arch/arm/plat-omap/Kconfig"
  
@@@ -805,19 -810,12 +837,17 @@@ source "arch/arm/mach-omap2/Kconfig
  
  source "arch/arm/mach-orion5x/Kconfig"
  
 -source "arch/arm/mach-kirkwood/Kconfig"
 +source "arch/arm/mach-pxa/Kconfig"
 +source "arch/arm/plat-pxa/Kconfig"
  
 -source "arch/arm/mach-dove/Kconfig"
 +source "arch/arm/mach-mmp/Kconfig"
 +
 +source "arch/arm/mach-realview/Kconfig"
 +
 +source "arch/arm/mach-sa1100/Kconfig"
  
  source "arch/arm/plat-samsung/Kconfig"
  source "arch/arm/plat-s3c24xx/Kconfig"
- source "arch/arm/plat-s3c64xx/Kconfig"
- source "arch/arm/plat-s3c/Kconfig"
  source "arch/arm/plat-s5p/Kconfig"
  source "arch/arm/plat-s5pc1xx/Kconfig"
  
@@@ -826,32 -824,59 +856,34 @@@ source "arch/arm/mach-s3c2400/Kconfig
  source "arch/arm/mach-s3c2410/Kconfig"
  source "arch/arm/mach-s3c2412/Kconfig"
  source "arch/arm/mach-s3c2440/Kconfig"
- source "arch/arm/mach-s3c2442/Kconfig"
  source "arch/arm/mach-s3c2443/Kconfig"
  endif
  
  if ARCH_S3C64XX
- source "arch/arm/mach-s3c6400/Kconfig"
- source "arch/arm/mach-s3c6410/Kconfig"
+ source "arch/arm/mach-s3c64xx/Kconfig"
  endif
  
  source "arch/arm/mach-s5p6440/Kconfig"
  
- source "arch/arm/mach-shmobile/Kconfig"
- source "arch/arm/plat-stmp3xxx/Kconfig"
+ source "arch/arm/mach-s5p6442/Kconfig"
  
 -source "arch/arm/plat-stmp3xxx/Kconfig"
 -
  if ARCH_S5PC1XX
  source "arch/arm/mach-s5pc100/Kconfig"
  endif
  
 -source "arch/arm/mach-lh7a40x/Kconfig"
 -
 -source "arch/arm/mach-h720x/Kconfig"
 -
 -source "arch/arm/mach-versatile/Kconfig"
 -
 -source "arch/arm/mach-aaec2000/Kconfig"
 -
 -source "arch/arm/mach-realview/Kconfig"
 -
 -source "arch/arm/mach-at91/Kconfig"
 -
 -source "arch/arm/plat-mxc/Kconfig"
+ source "arch/arm/mach-s5pv210/Kconfig"
 -source "arch/arm/mach-nomadik/Kconfig"
 -source "arch/arm/plat-nomadik/Kconfig"
 -
 -source "arch/arm/mach-netx/Kconfig"
 -
 -source "arch/arm/mach-ns9xxx/Kconfig"
 -
 -source "arch/arm/mach-davinci/Kconfig"
 -
 -source "arch/arm/mach-ks8695/Kconfig"
 -
 -source "arch/arm/mach-msm/Kconfig"
++source "arch/arm/mach-shmobile/Kconfig"
++source "arch/arm/plat-stmp3xxx/Kconfig"
  source "arch/arm/mach-u300/Kconfig"
  
 -source "arch/arm/mach-w90x900/Kconfig"
 +source "arch/arm/mach-ux500/Kconfig"
  
 -source "arch/arm/mach-bcmring/Kconfig"
 +source "arch/arm/mach-versatile/Kconfig"
  
 -source "arch/arm/mach-ux500/Kconfig"
 +source "arch/arm/mach-w90x900/Kconfig"
  
  # Definitions to make life easier
  config ARCH_ACORN
@@@ -1092,7 -1117,7 +1124,7 @@@ source kernel/Kconfig.preemp
  config HZ
        int
        default 128 if ARCH_L7200
-       default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440
+       default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210
        default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
        default AT91_TIMER_HZ if ARCH_AT91
        default 100
diff --combined arch/arm/Makefile
@@@ -94,7 -94,7 +94,7 @@@ CFLAGS_ABI    +=-funwind-table
  endif
  
  ifeq ($(CONFIG_THUMB2_KERNEL),y)
 -AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=thumb,-Wa$(comma)-mauto-it)
 +AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it)
  AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)
  CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)
  AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb
@@@ -146,8 -146,6 +146,8 @@@ machine-$(CONFIG_ARCH_MX1)         := mx
  machine-$(CONFIG_ARCH_MX2)            := mx2
  machine-$(CONFIG_ARCH_MX25)           := mx25
  machine-$(CONFIG_ARCH_MX3)            := mx3
 +machine-$(CONFIG_ARCH_MX5)            := mx5
 +machine-$(CONFIG_ARCH_MXC91231)               := mxc91231
  machine-$(CONFIG_ARCH_NETX)           := netx
  machine-$(CONFIG_ARCH_NOMADIK)                := nomadik
  machine-$(CONFIG_ARCH_NS9XXX)         := ns9xxx
@@@ -160,14 -158,15 +160,16 @@@ machine-$(CONFIG_ARCH_PNX4008)          := pnx4
  machine-$(CONFIG_ARCH_PXA)            := pxa
  machine-$(CONFIG_ARCH_REALVIEW)               := realview
  machine-$(CONFIG_ARCH_RPC)            := rpc
- machine-$(CONFIG_ARCH_S3C2410)                := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443
+ machine-$(CONFIG_ARCH_S3C2410)                := s3c2410 s3c2400 s3c2412 s3c2440 s3c2443
  machine-$(CONFIG_ARCH_S3C24A0)                := s3c24a0
- machine-$(CONFIG_ARCH_S3C64XX)                := s3c6400 s3c6410
+ machine-$(CONFIG_ARCH_S3C64XX)                := s3c64xx
  machine-$(CONFIG_ARCH_S5P6440)                := s5p6440
+ machine-$(CONFIG_ARCH_S5P6442)                := s5p6442
  machine-$(CONFIG_ARCH_S5PC1XX)                := s5pc100
+ machine-$(CONFIG_ARCH_S5PV210)                := s5pv210
  machine-$(CONFIG_ARCH_SA1100)         := sa1100
  machine-$(CONFIG_ARCH_SHARK)          := shark
 +machine-$(CONFIG_ARCH_SHMOBILE)       := shmobile
  machine-$(CONFIG_ARCH_STMP378X)               := stmp378x
  machine-$(CONFIG_ARCH_STMP37XX)               := stmp37xx
  machine-$(CONFIG_ARCH_U300)           := u300
@@@ -175,20 -174,21 +177,20 @@@ machine-$(CONFIG_ARCH_U8500)            := ux50
  machine-$(CONFIG_ARCH_VERSATILE)      := versatile
  machine-$(CONFIG_ARCH_W90X900)                := w90x900
  machine-$(CONFIG_FOOTBRIDGE)          := footbridge
 -machine-$(CONFIG_ARCH_MXC91231)               := mxc91231
  
  # Platform directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
  plat-$(CONFIG_ARCH_MXC)               := mxc
  plat-$(CONFIG_ARCH_OMAP)      := omap
++plat-$(CONFIG_ARCH_S3C64XX)   := samsung
 +plat-$(CONFIG_ARCH_STMP3XXX)  := stmp3xxx
  plat-$(CONFIG_PLAT_IOP)               := iop
  plat-$(CONFIG_PLAT_NOMADIK)   := nomadik
  plat-$(CONFIG_PLAT_ORION)     := orion
  plat-$(CONFIG_PLAT_PXA)               := pxa
- plat-$(CONFIG_PLAT_S3C24XX)   := s3c24xx s3c samsung
- plat-$(CONFIG_PLAT_S3C64XX)   := s3c64xx s3c samsung
- plat-$(CONFIG_PLAT_S5PC1XX)   := s5pc1xx s3c samsung
- plat-$(CONFIG_PLAT_S5P)               := s5p samsung s3c
+ plat-$(CONFIG_PLAT_S3C24XX)   := s3c24xx samsung
 -plat-$(CONFIG_ARCH_S3C64XX)   := samsung
+ plat-$(CONFIG_PLAT_S5PC1XX)   := s5pc1xx samsung
+ plat-$(CONFIG_PLAT_S5P)               := s5p samsung
 -plat-$(CONFIG_ARCH_STMP3XXX)  := stmp3xxx
  
  ifeq ($(CONFIG_ARCH_EBSA110),y)
  # This is what happens if you forget the IOCS16 line.
@@@ -38,7 -38,7 +38,7 @@@
  #include <plat/fb.h>
  #include <plat/nand.h>
  
- #include <plat/s3c6410.h>
+ #include <mach/s3c6410.h>
  #include <plat/clock.h>
  #include <plat/devs.h>
  #include <plat/cpu.h>
@@@ -82,7 -82,7 +82,7 @@@ static int hmt_bl_init(struct device *d
        return ret;
  }
  
 -static int hmt_bl_notify(int brightness)
 +static int hmt_bl_notify(struct device *dev, int brightness)
  {
        /*
         * translate from CIELUV/CIELAB L*->brightness, E.G. from
diff --combined drivers/serial/Kconfig
@@@ -447,7 -447,7 +447,7 @@@ config SERIAL_CLPS711X_CONSOL
  
  config SERIAL_SAMSUNG
        tristate "Samsung SoC serial support"
-       depends on ARM && PLAT_S3C
+       depends on ARM && PLAT_SAMSUNG
        select SERIAL_CORE
        help
          Support for the on-chip UARTs on the Samsung S3C24XX series CPUs,
          provide all of these ports, depending on how the serial port
          pins are configured.
  
+ config SERIAL_SAMSUNG_UARTS_4
+       bool
+       depends on ARM && PLAT_SAMSUNG
+       default y if CPU_S3C2443
+       help
+         Internal node for the common case of 4 Samsung compatible UARTs
  config SERIAL_SAMSUNG_UARTS
        int
-       depends on ARM && PLAT_S3C
+       depends on ARM && PLAT_SAMSUNG
        default 2 if ARCH_S3C2400
-       default 4 if ARCH_S5P6440 || ARCH_S5PC1XX || ARCH_S5PV210 || ARCH_S3C64XX || CPU_S3C2443
+       default 4 if SERIAL_SAMSUNG_UARTS_4
        default 3
        help
          Select the number of available UART ports for the Samsung S3C
@@@ -526,8 -533,9 +533,9 @@@ config SERIAL_S3C24A
          Serial port support for the Samsung S3C24A0 SoC
  
  config SERIAL_S3C6400
-       tristate "Samsung S3C6400/S3C6410/S5P6440 Serial port support"
+       tristate "Samsung S3C6400/S3C6410/S5P6440 Seria port support"
        depends on SERIAL_SAMSUNG && (CPU_S3C6400 || CPU_S3C6410 || CPU_S5P6440)
+       select SERIAL_SAMSUNG_UARTS_4
        default y
        help
          Serial port support for the Samsung S3C6400, S3C6410 and S5P6440
  config SERIAL_S5PC100
        tristate "Samsung S5PC100 Serial port support"
        depends on SERIAL_SAMSUNG && CPU_S5PC100
+       select SERIAL_SAMSUNG_UARTS_4
        default y
        help
          Serial port support for the Samsung S5PC100 SoCs
  
  config SERIAL_S5PV210
        tristate "Samsung S5PV210 Serial port support"
-       depends on SERIAL_SAMSUNG && CPU_S5PV210
+       depends on SERIAL_SAMSUNG && (CPU_S5PV210 || CPU_S5P6442)
+       select SERIAL_SAMSUNG_UARTS_4 if CPU_S5PV210
        default y
        help
          Serial port support for Samsung's S5P Family of SoC's
@@@ -1003,7 -1013,7 +1013,7 @@@ config SERIAL_IP22_ZILOG_CONSOL
  
  config SERIAL_SH_SCI
        tristate "SuperH SCI(F) serial port support"
 -      depends on HAVE_CLK && (SUPERH || H8300)
 +      depends on HAVE_CLK && (SUPERH || H8300 || ARCH_SHMOBILE)
        select SERIAL_CORE
  
  config SERIAL_SH_SCI_NR_UARTS