Merge branch 'msm-move-gpio' of git://codeaurora.org/quic/kernel/davidb/linux-msm...
Grant Likely [Mon, 1 Aug 2011 14:16:05 +0000 (15:16 +0100)]
Conflicts:
drivers/gpio/Kconfig
drivers/gpio/Makefile

1  2 
arch/arm/mach-msm/Kconfig
arch/arm/mach-msm/Makefile
drivers/gpio/Kconfig
drivers/gpio/Makefile

@@@ -11,6 -11,7 +11,7 @@@ config ARCH_MSM7X00
        select MSM_SMD
        select MSM_SMD_PKG3
        select CPU_V6
+       select GPIO_MSM_V1
        select MSM_PROC_COMM
        select HAS_MSM_DEBUG_UART_PHYS
  
@@@ -22,6 -23,7 +23,7 @@@ config ARCH_MSM7X3
        select MSM_VIC
        select CPU_V7
        select MSM_GPIOMUX
+       select GPIO_MSM_V1
        select MSM_PROC_COMM
        select HAS_MSM_DEBUG_UART_PHYS
  
@@@ -33,6 -35,7 +35,7 @@@ config ARCH_QSD8X5
        select MSM_VIC
        select CPU_V7
        select MSM_GPIOMUX
+       select GPIO_MSM_V1
        select MSM_PROC_COMM
        select HAS_MSM_DEBUG_UART_PHYS
  
@@@ -44,6 -47,7 +47,7 @@@ config ARCH_MSM8X6
        select ARM_GIC
        select CPU_V7
        select MSM_V2_TLMM
+       select GPIO_MSM_V2
        select MSM_GPIOMUX
        select MSM_SCM if SMP
  
@@@ -148,6 -152,22 +152,6 @@@ config MACH_MSM8960_RUMI
  
  endmenu
  
 -config MSM_IOMMU
 -      bool "MSM IOMMU Support"
 -      depends on ARCH_MSM8X60 || ARCH_MSM8960
 -      select IOMMU_API
 -      default n
 -      help
 -        Support for the IOMMUs found on certain Qualcomm SOCs.
 -        These IOMMUs allow virtualization of the address space used by most
 -        cores within the multimedia subsystem.
 -
 -        If unsure, say N here.
 -
 -config IOMMU_PGTABLES_L2
 -      def_bool y
 -      depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n
 -
  config MSM_DEBUG_UART
        int
        default 1 if MSM_DEBUG_UART1
@@@ -189,6 -209,9 +193,6 @@@ config MSM_GPIOMU
  config MSM_V2_TLMM
        bool
  
 -config IOMMU_API
 -      bool
 -
  config MSM_SCM
        bool
  endif
@@@ -3,7 -3,7 +3,7 @@@ obj-y += clock.
  obj-$(CONFIG_DEBUG_FS) += clock-debug.o
  
  obj-$(CONFIG_MSM_VIC) += irq-vic.o
 -obj-$(CONFIG_MSM_IOMMU) += iommu.o iommu_dev.o devices-iommu.o
 +obj-$(CONFIG_MSM_IOMMU) += devices-iommu.o
  
  obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o
  obj-$(CONFIG_ARCH_MSM7X30) += dma.o
@@@ -29,11 -29,3 +29,3 @@@ obj-$(CONFIG_ARCH_MSM8960) += board-msm
  obj-$(CONFIG_ARCH_MSM7X30) += gpiomux-v1.o gpiomux.o
  obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o gpiomux-v1.o gpiomux.o
  obj-$(CONFIG_ARCH_MSM8X60) += gpiomux-8x60.o gpiomux-v2.o gpiomux.o
- ifdef CONFIG_MSM_V2_TLMM
- ifndef CONFIG_ARCH_MSM8960
- # TODO: TLMM Mapping issues need to be resolved
- obj-y += gpio-v2.o
- endif
- else
- obj-y += gpio.o
- endif
diff --combined drivers/gpio/Kconfig
@@@ -63,58 -63,49 +63,74 @@@ config GPIO_SYSF
          Kernel drivers may also request that a particular GPIO be
          exported to userspace; this can be useful when debugging.
  
 +config GPIO_GENERIC
 +      tristate
 +
  # put drivers in the right section, in alphabetical order
  
 +config GPIO_DA9052
 +      tristate "Dialog DA9052 GPIO"
 +      depends on PMIC_DA9052
 +      help
 +        Say yes here to enable the GPIO driver for the DA9052 chip.
 +
  config GPIO_MAX730X
        tristate
  
  comment "Memory mapped GPIO drivers:"
  
 -config GPIO_BASIC_MMIO_CORE
 -      tristate
 -      help
 -        Provides core functionality for basic memory-mapped GPIO controllers.
 -
 -config GPIO_BASIC_MMIO
 -      tristate "Basic memory-mapped GPIO controllers support"
 -      select GPIO_BASIC_MMIO_CORE
 +config GPIO_GENERIC_PLATFORM
 +      tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
 +      select GPIO_GENERIC
        help
 -        Say yes here to support basic memory-mapped GPIO controllers.
 +        Say yes here to support basic platform_device memory-mapped GPIO controllers.
  
  config GPIO_IT8761E
        tristate "IT8761E GPIO support"
        help
          Say yes here to support GPIO functionality of IT8761E super I/O chip.
  
 +config GPIO_EP93XX
 +      def_bool y
 +      depends on ARCH_EP93XX
 +      select GPIO_GENERIC
 +
  config GPIO_EXYNOS4
        def_bool y
        depends on CPU_EXYNOS4210
  
 +config GPIO_MPC5200
 +      def_bool y
 +      depends on PPC_MPC52xx
 +
+ config GPIO_MSM_V1
+       tristate "Qualcomm MSM GPIO v1"
+       depends on GPIOLIB && ARCH_MSM
+       help
+         Say yes here to support the GPIO interface on ARM v6 based
+         Qualcomm MSM chips.  Most of the pins on the MSM can be
+         selected for GPIO, and are controlled by this driver.
+ config GPIO_MSM_V2
+       tristate "Qualcomm MSM GPIO v2"
+       depends on GPIOLIB && ARCH_MSM
+       help
+         Say yes here to support the GPIO interface on ARM v7 based
+         Qualcomm MSM chips.  Most of the pins on the MSM can be
+         selected for GPIO, and are controlled by this driver.
 +config GPIO_MXC
 +      def_bool y
 +      depends on ARCH_MXC
 +      select GPIO_GENERIC
 +      select GENERIC_IRQ_CHIP
 +
 +config GPIO_MXS
 +      def_bool y
 +      depends on ARCH_MXS
 +      select GPIO_GENERIC
 +      select GENERIC_IRQ_CHIP
 +
  config GPIO_PLAT_SAMSUNG
        def_bool y
        depends on SAMSUNG_GPIOLIB_4BIT
@@@ -162,6 -153,9 +178,6 @@@ config GPIO_SC
          The Intel Tunnel Creek processor has 5 GPIOs powered by the
          core power rail and 9 from suspend power supply.
  
 -        This driver can also be built as a module. If so, the module
 -        will be called sch-gpio.
 -
  config GPIO_VX855
        tristate "VIA VX855/VX875 GPIO"
        depends on MFD_SUPPORT && PCI
@@@ -224,6 -218,9 +240,6 @@@ config GPIO_PCA953
  
          16 bits:      pca9535, pca9539, pca9555, tca6416
  
 -        This driver can also be built as a module.  If so, the module
 -        will be called pca953x.
 -
  config GPIO_PCA953X_IRQ
        bool "Interrupt controller support for PCA953x"
        depends on GPIO_PCA953X=y
@@@ -315,12 -312,17 +331,12 @@@ config GPIO_ADP552
          This option enables support for on-chip GPIO found
          on Analog Devices ADP5520 PMICs.
  
 -        To compile this driver as a module, choose M here: the module will
 -        be called adp5520-gpio.
 -
  config GPIO_ADP5588
        tristate "ADP5588 I2C GPIO expander"
        depends on I2C
        help
          This option enables support for 18 GPIOs found
          on Analog Devices ADP5588 GPIO Expanders.
 -        To compile this driver as a module, choose M here: the module will be
 -        called adp5588-gpio.
  
  config GPIO_ADP5588_IRQ
        bool "Interrupt controller support for ADP5588"
@@@ -412,11 -414,10 +428,11 @@@ config GPIO_MAX730
          GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
  
  config GPIO_MCP23S08
 -      tristate "Microchip MCP23Sxx I/O expander"
 -      depends on SPI_MASTER
 +      tristate "Microchip MCP23xxx I/O expander"
 +      depends on SPI_MASTER || I2C
        help
 -        SPI driver for Microchip MCP23S08/MPC23S17 I/O expanders.
 +        SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
 +        I/O expanders.
          This provides a GPIO interface supporting inputs and outputs.
  
  config GPIO_MC33880
@@@ -443,6 -444,9 +459,6 @@@ config GPIO_UCB140
          This enables support for the Philips UCB1400 GPIO pins.
          The UCB1400 is an AC97 audio codec.
  
 -        To compile this driver as a module, choose M here: the
 -        module will be called ucb1400_gpio.
 -
  comment "MODULbus GPIO expanders:"
  
  config GPIO_JANZ_TTL
          This driver provides support for driving the pins in output
          mode only. Input mode is not supported.
  
 -config AB8500_GPIO
 +config GPIO_AB8500
        bool "ST-Ericsson AB8500 Mixed Signal Circuit gpio functions"
        depends on AB8500_CORE && BROKEN
        help
diff --combined drivers/gpio/Makefile
@@@ -4,56 -4,49 +4,58 @@@ ccflags-$(CONFIG_DEBUG_GPIO)  += -DDEBU
  
  obj-$(CONFIG_GPIOLIB)         += gpiolib.o
  
 -obj-$(CONFIG_GPIO_ADP5520)    += adp5520-gpio.o
 -obj-$(CONFIG_GPIO_ADP5588)    += adp5588-gpio.o
 -obj-$(CONFIG_GPIO_BASIC_MMIO_CORE)    += basic_mmio_gpio.o
 -obj-$(CONFIG_GPIO_BASIC_MMIO) += basic_mmio_gpio.o
 +# Device drivers. Generally keep list sorted alphabetically
 +obj-$(CONFIG_GPIO_GENERIC)    += gpio-generic.o
 +
 +obj-$(CONFIG_GPIO_74X164)     += gpio-74x164.o
 +obj-$(CONFIG_GPIO_AB8500)     += gpio-ab8500.o
 +obj-$(CONFIG_GPIO_ADP5520)    += gpio-adp5520.o
 +obj-$(CONFIG_GPIO_ADP5588)    += gpio-adp5588.o
 +obj-$(CONFIG_GPIO_BT8XX)      += gpio-bt8xx.o
 +obj-$(CONFIG_GPIO_CS5535)     += gpio-cs5535.o
 +obj-$(CONFIG_GPIO_DA9052)     += gpio-da9052.o
 +obj-$(CONFIG_GPIO_EP93XX)     += gpio-ep93xx.o
  obj-$(CONFIG_GPIO_EXYNOS4)    += gpio-exynos4.o
 +obj-$(CONFIG_GPIO_IT8761E)    += gpio-it8761e.o
 +obj-$(CONFIG_GPIO_JANZ_TTL)   += gpio-janz-ttl.o
 +obj-$(CONFIG_GPIO_LANGWELL)   += gpio-langwell.o
 +obj-$(CONFIG_GPIO_MAX730X)    += gpio-max730x.o
 +obj-$(CONFIG_GPIO_MAX7300)    += gpio-max7300.o
 +obj-$(CONFIG_GPIO_MAX7301)    += gpio-max7301.o
 +obj-$(CONFIG_GPIO_MAX732X)    += gpio-max732x.o
 +obj-$(CONFIG_GPIO_MC33880)    += gpio-mc33880.o
 +obj-$(CONFIG_GPIO_MCP23S08)   += gpio-mcp23s08.o
 +obj-$(CONFIG_GPIO_ML_IOH)     += gpio-ml-ioh.o
 +obj-$(CONFIG_GPIO_MPC5200)    += gpio-mpc5200.o
++obj-$(CONFIG_GPIO_MSM_V1)     += gpio-msm-v1.o
++obj-$(CONFIG_GPIO_MSM_V2)     += gpio-msm-v2.o
 +obj-$(CONFIG_GPIO_MXC)                += gpio-mxc.o
 +obj-$(CONFIG_GPIO_MXS)                += gpio-mxs.o
 +obj-$(CONFIG_PLAT_NOMADIK)    += gpio-nomadik.o
 +obj-$(CONFIG_ARCH_OMAP)               += gpio-omap.o
 +obj-$(CONFIG_GPIO_PCA953X)    += gpio-pca953x.o
 +obj-$(CONFIG_GPIO_PCF857X)    += gpio-pcf857x.o
 +obj-$(CONFIG_GPIO_PCH)                += gpio-pch.o
 +obj-$(CONFIG_GPIO_PL061)      += gpio-pl061.o
 +obj-$(CONFIG_GPIO_RDC321X)    += gpio-rdc321x.o
 +
  obj-$(CONFIG_GPIO_PLAT_SAMSUNG)       += gpio-plat-samsung.o
  obj-$(CONFIG_GPIO_S5PC100)    += gpio-s5pc100.o
  obj-$(CONFIG_GPIO_S5PV210)    += gpio-s5pv210.o
 -obj-$(CONFIG_GPIO_LANGWELL)   += langwell_gpio.o
 -obj-$(CONFIG_GPIO_MAX730X)    += max730x.o
 -obj-$(CONFIG_GPIO_MAX7300)    += max7300.o
 -obj-$(CONFIG_GPIO_MAX7301)    += max7301.o
 -obj-$(CONFIG_GPIO_MAX732X)    += max732x.o
 -obj-$(CONFIG_GPIO_MC33880)    += mc33880.o
 -obj-$(CONFIG_GPIO_MCP23S08)   += mcp23s08.o
 -obj-$(CONFIG_GPIO_MSM_V1)     += gpio-msm-v1.o
 -obj-$(CONFIG_GPIO_MSM_V2)     += gpio-msm-v2.o
 -obj-$(CONFIG_GPIO_74X164)     += 74x164.o
 -obj-$(CONFIG_ARCH_OMAP)         += gpio-omap.o
 -obj-$(CONFIG_GPIO_PCA953X)    += pca953x.o
 -obj-$(CONFIG_GPIO_PCF857X)    += pcf857x.o
 -obj-$(CONFIG_GPIO_PCH)                += pch_gpio.o
 -obj-$(CONFIG_GPIO_PL061)      += pl061.o
 -obj-$(CONFIG_GPIO_STMPE)      += stmpe-gpio.o
 -obj-$(CONFIG_GPIO_TC3589X)    += tc3589x-gpio.o
 -obj-$(CONFIG_GPIO_TIMBERDALE) += timbgpio.o
 -obj-$(CONFIG_GPIO_TWL4030)    += twl4030-gpio.o
 -obj-$(CONFIG_GPIO_UCB1400)    += ucb1400_gpio.o
 -obj-$(CONFIG_GPIO_XILINX)     += xilinx_gpio.o
 -obj-$(CONFIG_GPIO_CS5535)     += cs5535-gpio.o
 -obj-$(CONFIG_GPIO_BT8XX)      += bt8xxgpio.o
 -obj-$(CONFIG_GPIO_IT8761E)    += it8761e_gpio.o
 -obj-$(CONFIG_GPIO_VR41XX)     += vr41xx_giu.o
 -obj-$(CONFIG_GPIO_WM831X)     += wm831x-gpio.o
 -obj-$(CONFIG_GPIO_WM8350)     += wm8350-gpiolib.o
 -obj-$(CONFIG_GPIO_WM8994)     += wm8994-gpio.o
 -obj-$(CONFIG_GPIO_SCH)                += sch_gpio.o
 +
 +obj-$(CONFIG_GPIO_SCH)                += gpio-sch.o
 +obj-$(CONFIG_GPIO_STMPE)      += gpio-stmpe.o
 +obj-$(CONFIG_GPIO_SX150X)     += gpio-sx150x.o
 +obj-$(CONFIG_GPIO_TC3589X)    += gpio-tc3589x.o
 +obj-$(CONFIG_ARCH_TEGRA)      += gpio-tegra.o
 +obj-$(CONFIG_GPIO_TIMBERDALE) += gpio-timberdale.o
 +obj-$(CONFIG_GPIO_TPS65910)   += gpio-tps65910.o
 +obj-$(CONFIG_GPIO_TWL4030)    += gpio-twl4030.o
  obj-$(CONFIG_MACH_U300)               += gpio-u300.o
 -obj-$(CONFIG_PLAT_NOMADIK)    += gpio-nomadik.o
 -obj-$(CONFIG_GPIO_RDC321X)    += rdc321x-gpio.o
 -obj-$(CONFIG_GPIO_JANZ_TTL)   += janz-ttl.o
 -obj-$(CONFIG_GPIO_SX150X)     += sx150x.o
 -obj-$(CONFIG_GPIO_VX855)      += vx855_gpio.o
 -obj-$(CONFIG_GPIO_ML_IOH)     += ml_ioh_gpio.o
 -obj-$(CONFIG_AB8500_GPIO)       += ab8500-gpio.o
 -obj-$(CONFIG_GPIO_TPS65910)   += tps65910-gpio.o
 +obj-$(CONFIG_GPIO_UCB1400)    += gpio-ucb1400.o
 +obj-$(CONFIG_GPIO_VR41XX)     += gpio-vr41xx.o
 +obj-$(CONFIG_GPIO_VX855)      += gpio-vx855.o
 +obj-$(CONFIG_GPIO_WM831X)     += gpio-wm831x.o
 +obj-$(CONFIG_GPIO_WM8350)     += gpio-wm8350.o
 +obj-$(CONFIG_GPIO_WM8994)     += gpio-wm8994.o
 +obj-$(CONFIG_GPIO_XILINX)     += gpio-xilinx.o