]> Pileus Git - ~andy/linux/commitdiff
Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 6 May 2013 00:36:20 +0000 (17:36 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 6 May 2013 00:36:20 +0000 (17:36 -0700)
Pull MFD update from Samuel Ortiz:
 "For 3.10 we have a few new MFD drivers for:

   - The ChromeOS embedded controller which provides keyboard, battery
     and power management services.  This controller is accessible
     through i2c or SPI.

   - Silicon Laboratories 476x controller, providing access to their FM
     chipset and their audio codec.

   - Realtek's RTS5249, a memory stick, MMC and SD/SDIO PCI based
     reader.

   - Nokia's Tahvo power button and watchdog device.  This device is
     very similar to Retu and is thus supported by the same code base.

   - STMicroelectronics STMPE1801, a keyboard and GPIO controller
     supported by the stmpe driver.

   - ST-Ericsson AB8540 and AB8505 power management and voltage
     converter controllers through the existing ab8500 code.

  Some other drivers got cleaned up or improved.  In particular:

   - The Linaro/STE guys got the ab8500 driver in sync with their
     internal code through a series of optimizations, fixes and
     improvements.

   - The AS3711 and OMAP USB drivers now have DT support.

   - The arizona clock and interrupt handling code got improved.

   - The wm5102 register patch and boot mechanism also got improved."

* tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (104 commits)
  mfd: si476x: Don't use 0bNNN
  mfd: vexpress: Handle pending config transactions
  mfd: ab8500: Export ab8500_gpadc_sw_hw_convert properly
  mfd: si476x: Fix i2c warning
  mfd: si476x: Add header files and Kbuild plumbing
  mfd: si476x: Add chip properties handling code
  mfd: si476x: Add the bulk of the core driver
  mfd: si476x: Add commands abstraction layer
  mfd: rtsx: Support RTS5249
  mfd: retu: Add Tahvo support
  mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus
  mfd: wm8994: Add some OF properties
  mfd: wm8994: Add device ID data to WM8994 OF device IDs
  input: Export matrix_keypad_parse_of_params()
  mfd: tps65090: Add compatible string for charger subnode
  mfd: db8500-prcmu: Support platform dependant device selection
  mfd: syscon: Fix warnings when printing resource_size_t
  of: Add stub of_get_parent for non-OF builds
  mfd: omap-usb-tll: Convert to devm_ioremap_resource()
  mfd: omap-usb-host: Convert to devm_ioremap_resource()
  ...

1  2 
arch/arm/mach-imx/Kconfig
arch/arm/mach-s3c64xx/Kconfig
arch/arm/mach-s3c64xx/mach-crag6410-module.c
drivers/mfd/Kconfig
drivers/mfd/wm5102-tables.c
drivers/power/rx51_battery.c
include/linux/mfd/arizona/pdata.h
include/linux/mfd/palmas.h
include/linux/mfd/tps65090.h
include/linux/of.h

index d58ad4ff8d34ac576fa0870181c94dac0099cb20,6d9ae09e24949e0447c7d3b5663fbe0f7ceb2502..2ebc97e16b911da6c33df4e78b80d02b6a7cc036
@@@ -83,12 -83,24 +83,12 @@@ config ARCH_MXC_IOMUX_V
  config ARCH_MX1
        bool
  
 -config MACH_MX21
 -      bool
 -
  config ARCH_MX25
        bool
  
  config MACH_MX27
        bool
  
 -config ARCH_MX5
 -      bool
 -
 -config ARCH_MX51
 -      bool
 -
 -config ARCH_MX53
 -      bool
 -
  config SOC_IMX1
        bool
        select ARCH_MX1
@@@ -102,6 -114,7 +102,6 @@@ config SOC_IMX2
        select COMMON_CLK
        select CPU_ARM926T
        select IMX_HAVE_IOMUX_V1
 -      select MACH_MX21
        select MXC_AVIC
  
  config SOC_IMX25
@@@ -142,6 -155,7 +142,6 @@@ config SOC_IMX3
  config SOC_IMX5
        bool
        select ARCH_HAS_CPUFREQ
 -      select ARCH_MX5
        select ARCH_MXC_IOMUX_V3
        select COMMON_CLK
        select CPU_V7
  
  config        SOC_IMX51
        bool
 -      select ARCH_MX5
 -      select ARCH_MX51
 +      select HAVE_IMX_SRC
        select PINCTRL
        select PINCTRL_IMX51
        select SOC_IMX5
@@@ -466,8 -481,6 +466,6 @@@ config MACH_MX31ADS_WM1133_EV
        depends on MACH_MX31ADS
        depends on MFD_WM8350_I2C
        depends on REGULATOR_WM8350 = y
-       select MFD_WM8350_CONFIG_MODE_0
-       select MFD_WM8352_CONFIG_MODE_0
        help
          Include support for the Wolfson Microelectronics 1133-EV1 PMU
          and audio module for the MX31ADS platform.
@@@ -774,8 -787,9 +772,8 @@@ comment "Device tree only
  
  config        SOC_IMX53
        bool "i.MX53 support"
 -      select ARCH_MX5
 -      select ARCH_MX53
        select HAVE_CAN_FLEXCAN if CAN
 +      select HAVE_IMX_SRC
        select IMX_HAVE_PLATFORM_IMX2_WDT
        select PINCTRL
        select PINCTRL_IMX53
@@@ -795,8 -809,7 +793,8 @@@ config SOC_IMX6
        select ARM_GIC
        select COMMON_CLK
        select CPU_V7
 -      select HAVE_ARM_SCU
 +      select HAVE_ARM_SCU if SMP
 +      select HAVE_ARM_TWD if LOCAL_TIMERS
        select HAVE_CAN_FLEXCAN if CAN
        select HAVE_IMX_GPC
        select HAVE_IMX_MMDC
index 283cb77d47211a2e4a840b8b772a3b82dff1d32d,041da5172423742277e778fdbb861dfee98c7e1a..20578536aec74bf83af3815cccb734e2c0cc7a88
@@@ -17,13 -17,11 +17,13 @@@ config PLAT_S3C64X
  # Configuration options for the S3C6410 CPU
  
  config CPU_S3C6400
 +      select SAMSUNG_HRT
        bool
        help
          Enable S3C6400 CPU support
  
  config CPU_S3C6410
 +      select SAMSUNG_HRT
        bool
        help
          Enable S3C6410 CPU support
@@@ -200,10 -198,7 +200,7 @@@ endchoic
  config SMDK6410_WM1190_EV1
        bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
        depends on MACH_SMDK6410
-       select MFD_WM8350_CONFIG_MODE_0
-       select MFD_WM8350_CONFIG_MODE_3
        select MFD_WM8350_I2C
-       select MFD_WM8352_CONFIG_MODE_0
        select REGULATOR
        select REGULATOR_WM8350
        select SAMSUNG_GPIO_EXTRA64
index a946b759fabd762e930109a9103329ae26428121,40b0e75b1ecc2cd88cee3b323e0befa7a48352d8..7ccfef227c77d654408fc49fdcd62922cfd71e30
@@@ -208,9 -208,8 +208,9 @@@ static const struct i2c_board_info wm12
  static struct arizona_pdata wm5102_reva_pdata = {
        .ldoena = S3C64XX_GPN(7),
        .gpio_base = CODEC_GPIO_BASE,
-       .irq_active_high = true,
+       .irq_flags = IRQF_TRIGGER_HIGH,
        .micd_pol_gpio = CODEC_GPIO_BASE + 4,
 +      .micd_rate = 6,
        .gpio_defaults = {
                [2] = 0x10000, /* AIF3TXLRCLK */
                [3] = 0x4,     /* OPCLK */
@@@ -238,7 -237,7 +238,7 @@@ static struct spi_board_info wm5102_rev
  static struct arizona_pdata wm5102_pdata = {
        .ldoena = S3C64XX_GPN(7),
        .gpio_base = CODEC_GPIO_BASE,
-       .irq_active_high = true,
+       .irq_flags = IRQF_TRIGGER_HIGH,
        .micd_pol_gpio = CODEC_GPIO_BASE + 2,
        .gpio_defaults = {
                [2] = 0x10000, /* AIF3TXLRCLK */
diff --combined drivers/mfd/Kconfig
index ca86581d02cecbc129a4cf1fed812cfa8abc4220,7acd863287d1baa177374075712953808c8378ca..d9aed1593e5d34855b488a89750da5ed68f1a0fe
@@@ -10,111 -10,164 +10,164 @@@ config MFD_COR
        select IRQ_DOMAIN
        default n
  
- config MFD_88PM860X
-       bool "Support Marvell 88PM8606/88PM8607"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select REGMAP_I2C
+ config MFD_CS5535
+       tristate "AMD CS5535 and CS5536 southbridge core functions"
        select MFD_CORE
-       help
-         This supports for Marvell 88PM8606/88PM8607 Power Management IC.
-         This includes the I2C driver and the core APIs _only_, you have to
-         select individual components like voltage regulators, RTC and
-         battery-charger under the corresponding menus.
+       depends on PCI && X86
+       ---help---
+         This is the core driver for CS5535/CS5536 MFD functions.  This is
+           necessary for using the board's GPIO and MFGPT functionality.
  
- config MFD_88PM800
-       tristate "Support Marvell 88PM800"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_AS3711
+       bool "AMS AS3711"
+       select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
-       select MFD_CORE
+       depends on I2C=y && GENERIC_HARDIRQS
        help
-         This supports for Marvell 88PM800 Power Management IC.
-         This includes the I2C driver and the core APIs _only_, you have to
-         select individual components like voltage regulators, RTC and
-         battery-charger under the corresponding menus.
+         Support for the AS3711 PMIC from AMS
  
- config MFD_88PM805
-       tristate "Support Marvell 88PM805"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select REGMAP_I2C
-       select REGMAP_IRQ
+ config PMIC_ADP5520
+       bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
+       depends on I2C=y
+       help
+         Say yes here to add support for Analog Devices AD5520 and ADP5501,
+         Multifunction Power Management IC. This includes
+         the I2C driver and the core APIs _only_, you have to select
+         individual components like LCD backlight, LEDs, GPIOs and Kepad
+         under the corresponding menus.
+ config MFD_AAT2870_CORE
+       bool "AnalogicTech AAT2870"
        select MFD_CORE
+       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
        help
-         This supports for Marvell 88PM805 Power Management IC. This includes
-         the I2C driver and the core APIs _only_, you have to select individual
-         components like codec device, headset/Mic device under the
-         corresponding menus.
+         If you say yes here you get support for the AAT2870.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
  
- config MFD_SM501
-       tristate "Support for Silicon Motion SM501"
-        ---help---
-         This is the core driver for the Silicon Motion SM501 multimedia
-         companion chip. This device is a multifunction device which may
-         provide numerous interfaces including USB host controller, USB gadget,
-         asynchronous serial ports, audio functions, and a dual display video
-         interface. The device may be connected by PCI or local bus with
-         varying functions enabled.
+ config MFD_CROS_EC
+       tristate "ChromeOS Embedded Controller"
+       select MFD_CORE
+       help
+         If you say Y here you get support for the ChromeOS Embedded
+         Controller (EC) providing keyboard, battery and power services.
+         You also ned to enable the driver for the bus you are using. The
+         protocol for talking to the EC is defined by the bus driver.
  
- config MFD_SM501_GPIO
-       bool "Export GPIO via GPIO layer"
-       depends on MFD_SM501 && GPIOLIB
-        ---help---
-        This option uses the gpio library layer to export the 64 GPIO
-        lines on the SM501. The platform data is used to supply the
-        base number for the first GPIO line to register.
+ config MFD_CROS_EC_I2C
+       tristate "ChromeOS Embedded Controller (I2C)"
+       depends on MFD_CROS_EC && I2C
  
- config MFD_RTSX_PCI
-       tristate "Support for Realtek PCI-E card reader"
-       depends on PCI && GENERIC_HARDIRQS
-       select MFD_CORE
        help
-         This supports for Realtek PCI-Express card reader including rts5209,
-         rts5229, rtl8411, etc. Realtek card reader supports access to many
-         types of memory cards, such as Memory Stick, Memory Stick Pro,
-         Secure Digital and MultiMediaCard.
+         If you say Y here, you get support for talking to the ChromeOS
+         EC through an I2C bus. This uses a simple byte-level protocol with
+         a checksum. Failing accesses will be retried three times to
+         improve reliability.
+ config MFD_CROS_EC_SPI
+       tristate "ChromeOS Embedded Controller (SPI)"
+       depends on MFD_CROS_EC && SPI
+       ---help---
+         If you say Y here, you get support for talking to the ChromeOS EC
+         through a SPI bus, using a byte-level protocol. Since the EC's
+         response time cannot be guaranteed, we support ignoring
+         'pre-amble' bytes before the response actually starts.
  
  config MFD_ASIC3
-       bool "Support for Compaq ASIC3"
+       bool "Compaq ASIC3"
        depends on GENERIC_HARDIRQS && GPIOLIB && ARM
        select MFD_CORE
         ---help---
          This driver supports the ASIC3 multifunction chip found on many
          PDAs (mainly iPAQ and HTC based ones)
  
- config MFD_DAVINCI_VOICECODEC
-       tristate
+ config PMIC_DA903X
+       bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
+       depends on I2C=y
+       help
+         Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
+         ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
+         usually found on PXA processors-based platforms. This includes
+         the I2C driver and the core APIs _only_, you have to select
+         individual components like LCD backlight, voltage regulators,
+         LEDs and battery-charger under the corresponding menus.
+ config PMIC_DA9052
+       bool
        select MFD_CORE
  
- config MFD_DM355EVM_MSP
-       bool "DaVinci DM355 EVM microcontroller"
-       depends on I2C=y && MACH_DAVINCI_DM355_EVM
+ config MFD_DA9052_SPI
+       bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
+       select REGMAP_SPI
+       select REGMAP_IRQ
+       select PMIC_DA9052
+       depends on SPI_MASTER=y && GENERIC_HARDIRQS
        help
-         This driver supports the MSP430 microcontroller used on these
-         boards.  MSP430 firmware manages resets and power sequencing,
-         inputs from buttons and the IR remote, LEDs, an RTC, and more.
+         Support for the Dialog Semiconductor DA9052 PMIC
+         when controlled using SPI. This driver provides common support
+         for accessing the device, additional drivers must be enabled in
+         order to use the functionality of the device.
  
- config MFD_TI_SSP
-       tristate "TI Sequencer Serial Port support"
-       depends on ARCH_DAVINCI_TNETV107X && GENERIC_HARDIRQS
+ config MFD_DA9052_I2C
+       bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
+       select REGMAP_I2C
+       select REGMAP_IRQ
+       select PMIC_DA9052
+       depends on I2C=y && GENERIC_HARDIRQS
+       help
+         Support for the Dialog Semiconductor DA9052 PMIC
+         when controlled using I2C. This driver provides common support
+         for accessing the device, additional drivers must be enabled in
+         order to use the functionality of the device.
+ config MFD_DA9055
+       bool "Dialog Semiconductor DA9055 PMIC Support"
+       select REGMAP_I2C
+       select REGMAP_IRQ
        select MFD_CORE
-       ---help---
-         Say Y here if you want support for the Sequencer Serial Port
-         in a Texas Instruments TNETV107X SoC.
+       depends on I2C=y && GENERIC_HARDIRQS
+       help
+         Say yes here for support of Dialog Semiconductor DA9055. This is
+         a Power Management IC. This driver provides common support for
+         accessing the device as well as the I2C interface to the chip itself.
+         Additional drivers must be enabled in order to use the functionality
+         of the device.
  
-         To compile this driver as a module, choose M here: the
-         module will be called ti-ssp.
+         This driver can be built as a module. If built as a module it will be
+         called "da9055"
  
- config MFD_TI_AM335X_TSCADC
-       tristate "TI ADC / Touch Screen chip support"
+ config MFD_MC13783
+       tristate
+ config MFD_MC13XXX
+       tristate
+       depends on (SPI_MASTER || I2C) && GENERIC_HARDIRQS
        select MFD_CORE
-       select REGMAP
-       select REGMAP_MMIO
-       depends on GENERIC_HARDIRQS
+       select MFD_MC13783
        help
-         If you say yes here you get support for Texas Instruments series
-         of Touch Screen /ADC chips.
-         To compile this driver as a module, choose M here: the
-         module will be called ti_am335x_tscadc.
+         Enable support for the Freescale MC13783 and MC13892 PMICs.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
+ config MFD_MC13XXX_SPI
+       tristate "Freescale MC13783 and MC13892 SPI interface"
+       depends on SPI_MASTER && GENERIC_HARDIRQS
+       select REGMAP_SPI
+       select MFD_MC13XXX
+       help
+         Select this if your MC13xxx is connected via an SPI bus.
+ config MFD_MC13XXX_I2C
+       tristate "Freescale MC13892 I2C interface"
+       depends on I2C && GENERIC_HARDIRQS
+       select REGMAP_I2C
+       select MFD_MC13XXX
+       help
+         Select this if your MC13xxx is connected via an I2C bus.
  
  config HTC_EGPIO
        bool "HTC EGPIO support"
@@@ -143,281 -196,331 +196,331 @@@ config HTC_I2CPL
          This device provides input and output GPIOs through an I2C
          interface to one or more sub-chips.
  
- config UCB1400_CORE
-       tristate "Philips UCB1400 Core driver"
-       depends on AC97_BUS
-       depends on GPIOLIB
+ config LPC_ICH
+       tristate "Intel ICH LPC"
+       depends on PCI && GENERIC_HARDIRQS
+       select MFD_CORE
        help
-         This enables support for the Philips UCB1400 core functions.
-         The UCB1400 is an AC97 audio codec.
-         To compile this driver as a module, choose M here: the
-         module will be called ucb1400_core.
+         The LPC bridge function of the Intel ICH provides support for
+         many functional units. This driver provides needed support for
+         other drivers to control these functions, currently GPIO and
+         watchdog.
  
- config MFD_LM3533
-       tristate "LM3533 Lighting Power chip"
-       depends on I2C
+ config LPC_SCH
+       tristate "Intel SCH LPC"
+       depends on PCI && GENERIC_HARDIRQS
        select MFD_CORE
-       select REGMAP_I2C
-       depends on GENERIC_HARDIRQS
        help
-         Say yes here to enable support for National Semiconductor / TI
-         LM3533 Lighting Power chips.
-         This driver provides common support for accessing the device;
-         additional drivers must be enabled in order to use the LED,
-         backlight or ambient-light-sensor functionality of the device.
+         LPC bridge function of the Intel SCH provides support for
+         System Management Bus and General Purpose I/O.
  
- config TPS6105X
-       tristate "TPS61050/61052 Boost Converters"
-       depends on I2C
-       select REGULATOR
+ config MFD_INTEL_MSIC
+       bool "Intel MSIC"
+       depends on INTEL_SCU_IPC
        select MFD_CORE
-       select REGULATOR_FIXED_VOLTAGE
-       depends on GENERIC_HARDIRQS
        help
-         This option enables a driver for the TP61050/TPS61052
-         high-power "white LED driver". This boost converter is
-         sometimes used for other things than white LEDs, and
-         also contains a GPIO pin.
+         Select this option to enable access to Intel MSIC (Avatele
+         Passage) chip. This chip embeds audio, battery, GPIO, etc.
+         devices used in Intel Medfield platforms.
  
- config TPS65010
-       tristate "TPS6501x Power Management chips"
-       depends on I2C && GPIOLIB
-       default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
+ config MFD_JANZ_CMODIO
+       tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
+       select MFD_CORE
+       depends on PCI && GENERIC_HARDIRQS
        help
-         If you say yes here you get support for the TPS6501x series of
-         Power Management chips.  These include voltage regulators,
-         lithium ion/polymer battery charging, and other features that
-         are often used in portable devices like cell phones and cameras.
-         This driver can also be built as a module.  If so, the module
-         will be called tps65010.
+         This is the core driver for the Janz CMOD-IO PCI MODULbus
+         carrier board. This device is a PCI to MODULbus bridge which may
+         host many different types of MODULbus daughterboards, including
+         CAN and GPIO controllers.
  
- config TPS6507X
-       tristate "TPS6507x Power Management / Touch Screen chips"
+ config MFD_JZ4740_ADC
+       bool "Janz JZ4740 ADC core"
        select MFD_CORE
-       depends on I2C && GENERIC_HARDIRQS
+       select GENERIC_IRQ_CHIP
+       depends on MACH_JZ4740
        help
-         If you say yes here you get support for the TPS6507x series of
-         Power Management / Touch Screen chips.  These include voltage
-         regulators, lithium ion/polymer battery charging, touch screen
-         and other features that are often used in portable devices.
-         This driver can also be built as a module.  If so, the module
-         will be called tps6507x.
+         Say yes here if you want support for the ADC unit in the JZ4740 SoC.
+         This driver is necessary for jz4740-battery and jz4740-hwmon driver.
  
- config MFD_TPS65217
-       tristate "TPS65217 Power Management / White LED chips"
-       depends on I2C && GENERIC_HARDIRQS
-       select MFD_CORE
+ config MFD_88PM800
+       tristate "Marvell 88PM800"
+       depends on I2C=y && GENERIC_HARDIRQS
        select REGMAP_I2C
+       select REGMAP_IRQ
+       select MFD_CORE
        help
-         If you say yes here you get support for the TPS65217 series of
-         Power Management / White LED chips.
-         These include voltage regulators, lithium ion/polymer battery
-         charger, wled and other features that are often used in portable
-         devices.
-         This driver can also be built as a module.  If so, the module
-         will be called tps65217.
+         This supports for Marvell 88PM800 Power Management IC.
+         This includes the I2C driver and the core APIs _only_, you have to
+         select individual components like voltage regulators, RTC and
+         battery-charger under the corresponding menus.
  
- config MFD_TPS6586X
-       bool "TPS6586x Power Management chips"
+ config MFD_88PM805
+       tristate "Marvell 88PM805"
        depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
        select REGMAP_I2C
+       select REGMAP_IRQ
+       select MFD_CORE
        help
-         If you say yes here you get support for the TPS6586X series of
-         Power Management chips.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
+         This supports for Marvell 88PM805 Power Management IC. This includes
+         the I2C driver and the core APIs _only_, you have to select individual
+         components like codec device, headset/Mic device under the
+         corresponding menus.
  
-         This driver can also be built as a module.  If so, the module
-         will be called tps6586x.
+ config MFD_88PM860X
+       bool "Marvell 88PM8606/88PM8607"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select REGMAP_I2C
+       select MFD_CORE
+       help
+         This supports for Marvell 88PM8606/88PM8607 Power Management IC.
+         This includes the I2C driver and the core APIs _only_, you have to
+         select individual components like voltage regulators, RTC and
+         battery-charger under the corresponding menus.
  
- config MFD_TPS65910
-       bool "TPS65910 Power Management chip"
-       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
+ config MFD_MAX77686
+       bool "Maxim Semiconductor MAX77686 PMIC Support"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
        select REGMAP_I2C
-       select REGMAP_IRQ
        select IRQ_DOMAIN
        help
-         if you say yes here you get support for the TPS65910 series of
-         Power Management chips.
- config MFD_TPS65912
-       bool
-       depends on GPIOLIB
+         Say yes here to support for Maxim Semiconductor MAX77686.
+         This is a Power Management IC with RTC on chip.
+         This driver provides common support for accessing the device;
+         additional drivers must be enabled in order to use the functionality
+         of the device.
  
- config MFD_TPS65912_I2C
-       bool "TPS65912 Power Management chip with I2C"
+ config MFD_MAX77693
+       bool "Maxim Semiconductor MAX77693 PMIC Support"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
-       select MFD_TPS65912
-       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
+       select REGMAP_I2C
        help
-         If you say yes here you get support for the TPS65912 series of
-         PM chips with I2C interface.
+         Say yes here to support for Maxim Semiconductor MAX77693.
+         This is a companion Power Management IC with Flash, Haptic, Charger,
+         and MUIC(Micro USB Interface Controller) controls on chip.
+         This driver provides common support for accessing the device;
+         additional drivers must be enabled in order to use the functionality
+         of the device.
  
- config MFD_TPS65912_SPI
-       bool "TPS65912 Power Management chip with SPI"
+ config MFD_MAX8907
+       tristate "Maxim Semiconductor MAX8907 PMIC Support"
        select MFD_CORE
-       select MFD_TPS65912
-       depends on SPI_MASTER && GPIOLIB && GENERIC_HARDIRQS
-       help
-         If you say yes here you get support for the TPS65912 series of
-         PM chips with SPI interface.
- config MFD_TPS80031
-       bool "TI TPS80031/TPS80032 Power Management chips"
        depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
        help
-         If you say yes here you get support for the Texas Instruments
-         TPS80031/ TPS80032 Fully Integrated Power Management with Power
-         Path and Battery Charger. The device provides five configurable
-         step-down converters, 11 general purpose LDOs, USB OTG Module,
-         ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
-         Power Path from USB, 32K clock generator.
+         Say yes here to support for Maxim Semiconductor MAX8907. This is
+         a Power Management IC. This driver provides common support for
+         accessing the device; additional drivers must be enabled in order
+         to use the functionality of the device.
  
- config MENELAUS
-       bool "Texas Instruments TWL92330/Menelaus PM chip"
-       depends on I2C=y && ARCH_OMAP2
+ config MFD_MAX8925
+       bool "Maxim Semiconductor MAX8925 PMIC Support"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
        help
-         If you say yes here you get support for the Texas Instruments
-         TWL92330/Menelaus Power Management chip. This include voltage
-         regulators, Dual slot memory card transceivers, real-time clock
-         and other features that are often used in portable devices like
-         cell phones and PDAs.
+         Say yes here to support for Maxim Semiconductor MAX8925. This is
+         a Power Management IC. This driver provides common support for
+         accessing the device, additional drivers must be enabled in order
+         to use the functionality of the device.
  
- config TWL4030_CORE
-       bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
+ config MFD_MAX8997
+       bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
        depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
        select IRQ_DOMAIN
-       select REGMAP_I2C
        help
-         Say yes here if you have TWL4030 / TWL6030 family chip on your board.
-         This core driver provides register access and IRQ handling
-         facilities, and registers devices for the various functions
-         so that function-specific drivers can bind to them.
-         These multi-function chips are found on many OMAP2 and OMAP3
-         boards, providing power management, RTC, GPIO, keypad, a
-         high speed USB OTG transceiver, an audio codec (on most
-         versions) and many other features.
+         Say yes here to support for Maxim Semiconductor MAX8997/8966.
+         This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
+         MUIC controls on chip.
+         This driver provides common support for accessing the device;
+         additional drivers must be enabled in order to use the functionality
+         of the device.
  
- config TWL4030_MADC
-       tristate "Texas Instruments TWL4030 MADC"
-       depends on TWL4030_CORE
+ config MFD_MAX8998
+       bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
        help
-       This driver provides support for triton TWL4030-MADC. The
-       driver supports both RT and SW conversion methods.
-       This driver can be built as a module. If so it will be
-       named twl4030-madc
+         Say yes here to support for Maxim Semiconductor MAX8998 and
+         National Semiconductor LP3974. This is a Power Management IC.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the functionality
+         of the device.
  
- config TWL4030_POWER
-       bool "Support power resources on TWL4030 family chips"
-       depends on TWL4030_CORE && ARM
+ config EZX_PCAP
+       bool "Motorola EZXPCAP Support"
+       depends on GENERIC_HARDIRQS && SPI_MASTER
        help
-         Say yes here if you want to use the power resources on the
-         TWL4030 family chips.  Most of these resources are regulators,
-         which have a separate driver; some are control signals, such
-         as clock request handshaking.
-         This driver uses board-specific data to initialize the resources
-         and load scripts controlling which resources are switched off/on
-         or reset when a sleep, wakeup or warm reset event occurs.
+         This enables the PCAP ASIC present on EZX Phones. This is
+         needed for MMC, TouchScreen, Sound, USB, etc..
  
- config MFD_TWL4030_AUDIO
-       bool
-       depends on TWL4030_CORE && GENERIC_HARDIRQS
+ config MFD_VIPERBOARD
+         tristate "Nano River Technologies Viperboard"
        select MFD_CORE
+       depends on USB && GENERIC_HARDIRQS
        default n
+       help
+         Say yes here if you want support for Nano River Technologies
+         Viperboard.
+         There are mfd cell drivers available for i2c master, adc and
+         both gpios found on the board. The spi part does not yet
+         have a driver.
+         You need to select the mfd cell drivers separately.
+         The drivers do not support all features the board exposes.
  
- config TWL6040_CORE
-       bool "Support for TWL6040 audio codec"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_RETU
+       tristate "Nokia Retu and Tahvo multi-function device"
        select MFD_CORE
-       select REGMAP_I2C
+       depends on I2C && GENERIC_HARDIRQS
        select REGMAP_IRQ
-       default n
        help
-         Say yes here if you want support for Texas Instruments TWL6040 audio
-         codec.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device (audio, vibra).
+         Retu and Tahvo are a multi-function devices found on Nokia
+         Internet Tablets (770, N800 and N810).
  
- config MFD_STMPE
-       bool "Support STMicroelectronics STMPE"
-       depends on (I2C=y || SPI_MASTER=y) && GENERIC_HARDIRQS
-       select MFD_CORE
+ config MFD_PCF50633
+       tristate "NXP PCF50633"
+       depends on I2C
+       select REGMAP_I2C
        help
-         Support for the STMPE family of I/O Expanders from
-         STMicroelectronics.
-         Currently supported devices are:
-               STMPE811: GPIO, Touchscreen
-               STMPE1601: GPIO, Keypad
-               STMPE2401: GPIO, Keypad
-               STMPE2403: GPIO, Keypad
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the functionality
-         of the device.  Currently available sub drivers are:
-               GPIO: stmpe-gpio
-               Keypad: stmpe-keypad
-               Touchscreen: stmpe-ts
- menu "STMPE Interface Drivers"
- depends on MFD_STMPE
+         Say yes here if you have NXP PCF50633 chip on your board.
+         This core driver provides register access and IRQ handling
+         facilities, and registers devices for the various functions
+         so that function-specific drivers can bind to them.
  
- config STMPE_I2C
-       bool "STMPE I2C Inteface"
-       depends on I2C=y
-       default y
+ config PCF50633_ADC
+       tristate "NXP PCF50633 ADC"
+       depends on MFD_PCF50633
        help
-         This is used to enable I2C interface of STMPE
+        Say yes here if you want to include support for ADC in the
+        NXP PCF50633 chip.
  
- config STMPE_SPI
-       bool "STMPE SPI Inteface"
-       depends on SPI_MASTER
+ config PCF50633_GPIO
+       tristate "NXP PCF50633 GPIO"
+       depends on MFD_PCF50633
        help
-         This is used to enable SPI interface of STMPE
- endmenu
+        Say yes here if you want to include support GPIO for pins on
+        the PCF50633 chip.
  
- config MFD_TC3589X
-       bool "Support Toshiba TC35892 and variants"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
+ config UCB1400_CORE
+       tristate "Philips UCB1400 Core driver"
+       depends on AC97_BUS
+       depends on GPIOLIB
        help
-         Support for the Toshiba TC35892 and variants I/O Expander.
+         This enables support for the Philips UCB1400 core functions.
+         The UCB1400 is an AC97 audio codec.
  
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
+         To compile this driver as a module, choose M here: the
+         module will be called ucb1400_core.
  
- config MFD_TMIO
-       bool
-       default n
+ config MFD_PM8XXX
+       tristate
  
- config MFD_T7L66XB
-       bool "Support Toshiba T7L66XB"
-       depends on ARM && HAVE_CLK && GENERIC_HARDIRQS
+ config MFD_PM8921_CORE
+       tristate "Qualcomm PM8921 PMIC chip"
 -      depends on MSM_SSBI
++      depends on SSBI && BROKEN
        select MFD_CORE
-       select MFD_TMIO
+       select MFD_PM8XXX
        help
-         Support for Toshiba Mobile IO Controller T7L66XB
+         If you say yes to this option, support will be included for the
+         built-in PM8921 PMIC chip.
  
- config MFD_SMSC
-        bool "Support for the SMSC ECE1099 series chips"
-        depends on I2C=y && GENERIC_HARDIRQS
+         This is required if your board has a PM8921 and uses its features,
+         such as: MPPs, GPIOs, regulators, interrupts, and PWM.
+         Say M here if you want to include support for PM8921 chip as a module.
+         This will build a module called "pm8921-core".
+ config MFD_PM8XXX_IRQ
+       bool "Qualcomm PM8xxx IRQ features"
+       depends on MFD_PM8XXX
+       default y if MFD_PM8XXX
+       help
+         This is the IRQ driver for Qualcomm PM 8xxx PMIC chips.
+         This is required to use certain other PM 8xxx features, such as GPIO
+         and MPP.
+ config MFD_RDC321X
+       tristate "RDC R-321x southbridge"
+       select MFD_CORE
+       depends on PCI && GENERIC_HARDIRQS
+       help
+         Say yes here if you want to have support for the RDC R-321x SoC
+         southbridge which provides access to GPIOs and Watchdog using the
+         southbridge PCI device configuration space.
+ config MFD_RTSX_PCI
+       tristate "Realtek PCI-E card reader"
+       depends on PCI && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         This supports for Realtek PCI-Express card reader including rts5209,
+         rts5229, rtl8411, etc. Realtek card reader supports access to many
+         types of memory cards, such as Memory Stick, Memory Stick Pro,
+         Secure Digital and MultiMediaCard.
+ config MFD_RC5T583
+       bool "Ricoh RC5T583 Power Management system device"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       select REGMAP_I2C
+       help
+         Select this option to get support for the RICOH583 Power
+         Management system device.
+         This driver provides common support for accessing the device
+         through i2c interface. The device supports multiple sub-devices
+         like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
+         Additional drivers must be enabled in order to use the
+         different functionality of the device.
+ config MFD_SEC_CORE
+       bool "SAMSUNG Electronics PMIC Series Support"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       select REGMAP_I2C
+       select REGMAP_IRQ
+       help
+        Support for the Samsung Electronics MFD series.
+        This driver provides common support for accessing the device,
+        additional drivers must be enabled in order to use the functionality
+        of the device
+ config MFD_SI476X_CORE
+       tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
+       depends on I2C
+       select MFD_CORE
+       select REGMAP_I2C
+       help
+         This is the core driver for the SI476x series of AM/FM
+         radio. This MFD driver connects the radio-si476x V4L2 module
+         and the si476x audio codec.
+         To compile this driver as a module, choose M here: the
+         module will be called si476x-core.
+ config MFD_SM501
+       tristate "Silicon Motion SM501"
+        ---help---
+         This is the core driver for the Silicon Motion SM501 multimedia
+         companion chip. This device is a multifunction device which may
+         provide numerous interfaces including USB host controller, USB gadget,
+         asynchronous serial ports, audio functions, and a dual display video
+         interface. The device may be connected by PCI or local bus with
+         varying functions enabled.
+ config MFD_SM501_GPIO
+       bool "Export GPIO via GPIO layer"
+       depends on MFD_SM501 && GPIOLIB
+        ---help---
+        This option uses the gpio library layer to export the 64 GPIO
+        lines on the SM501. The platform data is used to supply the
+        base number for the first GPIO line to register.
+ config MFD_SMSC
+        bool "SMSC ECE1099 series chips"
+        depends on I2C=y && GENERIC_HARDIRQS
         select MFD_CORE
         select REGMAP_I2C
         help
          To compile this driver as a module, choose M here: the
          module will be called smsc.
  
- config MFD_TC6387XB
-       bool "Support Toshiba TC6387XB"
-       depends on ARM && HAVE_CLK
-       select MFD_CORE
-       select MFD_TMIO
+ config ABX500_CORE
+       bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
+       default y if ARCH_U300 || ARCH_U8500
        help
-         Support for Toshiba Mobile IO Controller TC6387XB
+         Say yes here if you have the ABX500 Mixed Signal IC family
+         chips. This core driver expose register access functions.
+         Functionality specific drivers using these functions can
+         remain unchanged when IC changes. Binding of the functions to
+         actual register access is done by the IC core driver.
  
- config MFD_TC6393XB
-       bool "Support Toshiba TC6393XB"
-       depends on ARM && HAVE_CLK
-       select GPIOLIB
+ config AB3100_CORE
+       bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
+       depends on I2C=y && ABX500_CORE && GENERIC_HARDIRQS
        select MFD_CORE
-       select MFD_TMIO
+       default y if ARCH_U300
        help
-         Support for Toshiba Mobile IO Controller TC6393XB
+         Select this to enable the AB3100 Mixed Signal IC core
+         functionality. This connects to a AB3100 on the I2C bus
+         and expose a number of symbols needed for dependent devices
+         to read and write registers and subscribe to events from
+         this multi-functional IC. This is needed to use other features
+         of the AB3100 such as battery-backed RTC, charging control,
+         LEDs, vibrator, system power and temperature, power management
+         and ALSA sound.
  
- config PMIC_DA903X
-       bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
-       depends on I2C=y
+ config AB3100_OTP
+       tristate "ST-Ericsson AB3100 OTP functions"
+       depends on AB3100_CORE
+       default y if AB3100_CORE
        help
-         Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
-         ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
-         usually found on PXA processors-based platforms. This includes
-         the I2C driver and the core APIs _only_, you have to select
-         individual components like LCD backlight, voltage regulators,
-         LEDs and battery-charger under the corresponding menus.
+         Select this to enable the AB3100 Mixed Signal IC OTP (one-time
+         programmable memory) support. This exposes a sysfs file to read
+         out OTP values.
  
- config PMIC_DA9052
-       bool
+ config AB8500_CORE
+       bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
+       depends on GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU
+       select POWER_SUPPLY
        select MFD_CORE
+       select IRQ_DOMAIN
+       help
+         Select this option to enable access to AB8500 power management
+         chip. This connects to U8500 either on the SSP/SPI bus (deprecated
+         since hardware version v1.0) or the I2C bus via PRCMU. It also adds
+         the irq_chip parts for handling the Mixed Signal chip events.
+         This chip embeds various other multimedia funtionalities as well.
  
- config MFD_DA9052_SPI
-       bool "Support Dialog Semiconductor DA9052/53 PMIC variants with SPI"
-       select REGMAP_SPI
-       select REGMAP_IRQ
-       select PMIC_DA9052
-       depends on SPI_MASTER=y && GENERIC_HARDIRQS
+ config AB8500_DEBUG
+        bool "Enable debug info via debugfs"
+        depends on AB8500_CORE && DEBUG_FS
+        default y if DEBUG_FS
+        help
+          Select this option if you want debug information using the debug
+          filesystem, debugfs.
+ config AB8500_GPADC
+       bool "ST-Ericsson AB8500 GPADC driver"
+       depends on AB8500_CORE && REGULATOR_AB8500
+       default y
        help
-         Support for the Dialog Semiconductor DA9052 PMIC
-         when controlled using SPI. This driver provides common support
-         for accessing the device, additional drivers must be enabled in
-         order to use the functionality of the device.
+         AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
  
- config MFD_DA9052_I2C
-       bool "Support Dialog Semiconductor DA9052/53 PMIC variants with I2C"
-       select REGMAP_I2C
-       select REGMAP_IRQ
-       select PMIC_DA9052
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_DB8500_PRCMU
+       bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
+       depends on UX500_SOC_DB8500
+       select MFD_CORE
        help
-         Support for the Dialog Semiconductor DA9052 PMIC
-         when controlled using I2C. This driver provides common support
-         for accessing the device, additional drivers must be enabled in
-         order to use the functionality of the device.
+         Select this option to enable support for the DB8500 Power Reset
+         and Control Management Unit. This is basically an autonomous
+         system controller running an XP70 microprocessor, which is accessed
+         through a register map.
  
- config MFD_DA9055
-       bool "Dialog Semiconductor DA9055 PMIC Support"
-       select REGMAP_I2C
-       select REGMAP_IRQ
-       select PMIC_DA9055
+ config MFD_STMPE
+       bool "STMicroelectronics STMPE"
+       depends on (I2C=y || SPI_MASTER=y) && GENERIC_HARDIRQS
        select MFD_CORE
-       depends on I2C=y && GENERIC_HARDIRQS
        help
-         Say yes here for support of Dialog Semiconductor DA9055. This is
-         a Power Management IC. This driver provides common support for
-         accessing the device as well as the I2C interface to the chip itself.
-         Additional drivers must be enabled in order to use the functionality
-         of the device.
+         Support for the STMPE family of I/O Expanders from
+         STMicroelectronics.
  
-         This driver can be built as a module. If built as a module it will be
-         called "da9055"
+         Currently supported devices are:
  
- config PMIC_ADP5520
-       bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
+               STMPE811: GPIO, Touchscreen
+               STMPE1601: GPIO, Keypad
+               STMPE1801: GPIO, Keypad
+               STMPE2401: GPIO, Keypad
+               STMPE2403: GPIO, Keypad
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the functionality
+         of the device.  Currently available sub drivers are:
+               GPIO: stmpe-gpio
+               Keypad: stmpe-keypad
+               Touchscreen: stmpe-ts
+ menu "STMicroelectronics STMPE Interface Drivers"
+ depends on MFD_STMPE
+ config STMPE_I2C
+       bool "STMicroelectronics STMPE I2C Inteface"
        depends on I2C=y
+       default y
        help
-         Say yes here to add support for Analog Devices AD5520 and ADP5501,
-         Multifunction Power Management IC. This includes
-         the I2C driver and the core APIs _only_, you have to select
-         individual components like LCD backlight, LEDs, GPIOs and Kepad
-         under the corresponding menus.
+         This is used to enable I2C interface of STMPE
  
- config MFD_LP8788
-       bool "Texas Instruments LP8788 Power Management Unit Driver"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
-       select REGMAP_I2C
-       select IRQ_DOMAIN
+ config STMPE_SPI
+       bool "STMicroelectronics STMPE SPI Inteface"
+       depends on SPI_MASTER
        help
-         TI LP8788 PMU supports regulators, battery charger, RTC,
-         ADC, backlight driver and current sinks.
+         This is used to enable SPI interface of STMPE
+ endmenu
  
- config MFD_MAX77686
-       bool "Maxim Semiconductor MAX77686 PMIC Support"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_STA2X11
+       bool "STMicroelectronics STA2X11"
+       depends on STA2X11 && GENERIC_HARDIRQS
        select MFD_CORE
-       select REGMAP_I2C
-       select IRQ_DOMAIN
+       select REGMAP_MMIO
+ config MFD_SYSCON
+       bool "System Controller Register R/W Based on Regmap"
+       select REGMAP_MMIO
        help
-         Say yes here to support for Maxim Semiconductor MAX77686.
-         This is a Power Management IC with RTC on chip.
-         This driver provides common support for accessing the device;
-         additional drivers must be enabled in order to use the functionality
-         of the device.
+         Select this option to enable accessing system control registers
+         via regmap.
  
- config MFD_MAX77693
-       bool "Maxim Semiconductor MAX77693 PMIC Support"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_DAVINCI_VOICECODEC
+       tristate
        select MFD_CORE
-       select REGMAP_I2C
-       help
-         Say yes here to support for Maxim Semiconductor MAX77693.
-         This is a companion Power Management IC with Flash, Haptic, Charger,
-         and MUIC(Micro USB Interface Controller) controls on chip.
-         This driver provides common support for accessing the device;
-         additional drivers must be enabled in order to use the functionality
-         of the device.
  
- config MFD_MAX8907
-       tristate "Maxim Semiconductor MAX8907 PMIC Support"
+ config MFD_TI_AM335X_TSCADC
+       tristate "TI ADC / Touch Screen chip support"
        select MFD_CORE
-       depends on I2C=y && GENERIC_HARDIRQS
-       select REGMAP_I2C
-       select REGMAP_IRQ
+       select REGMAP
+       select REGMAP_MMIO
+       depends on GENERIC_HARDIRQS
        help
-         Say yes here to support for Maxim Semiconductor MAX8907. This is
-         a Power Management IC. This driver provides common support for
-         accessing the device; additional drivers must be enabled in order
-         to use the functionality of the device.
+         If you say yes here you get support for Texas Instruments series
+         of Touch Screen /ADC chips.
+         To compile this driver as a module, choose M here: the
+         module will be called ti_am335x_tscadc.
  
- config MFD_MAX8925
-       bool "Maxim Semiconductor MAX8925 PMIC Support"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
+ config MFD_DM355EVM_MSP
+       bool "TI DaVinci DM355 EVM microcontroller"
+       depends on I2C=y && MACH_DAVINCI_DM355_EVM
        help
-         Say yes here to support for Maxim Semiconductor MAX8925. This is
-         a Power Management IC. This driver provides common support for
-         accessing the device, additional drivers must be enabled in order
-         to use the functionality of the device.
+         This driver supports the MSP430 microcontroller used on these
+         boards.  MSP430 firmware manages resets and power sequencing,
+         inputs from buttons and the IR remote, LEDs, an RTC, and more.
  
- config MFD_MAX8997
-       bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
+ config MFD_LP8788
+       bool "TI LP8788 Power Management Unit Driver"
        depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
+       select REGMAP_I2C
        select IRQ_DOMAIN
        help
-         Say yes here to support for Maxim Semiconductor MAX8997/8966.
-         This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
-         MUIC controls on chip.
-         This driver provides common support for accessing the device;
-         additional drivers must be enabled in order to use the functionality
-         of the device.
+         TI LP8788 PMU supports regulators, battery charger, RTC,
+         ADC, backlight driver and current sinks.
  
- config MFD_MAX8998
-       bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
-       depends on I2C=y && GENERIC_HARDIRQS
-       select MFD_CORE
+ config MFD_OMAP_USB_HOST
+       bool "TI OMAP USBHS core and TLL driver"
+       depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
+       default y
        help
-         Say yes here to support for Maxim Semiconductor MAX8998 and
-         National Semiconductor LP3974. This is a Power Management IC.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the functionality
-         of the device.
+         This is the core driver for the OAMP EHCI and OHCI drivers.
+         This MFD driver does the required setup functionalities for
+         OMAP USB Host drivers.
  
- config MFD_SEC_CORE
-       bool "SAMSUNG Electronics PMIC Series Support"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_PALMAS
+       bool "TI Palmas series chips"
        select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
+       depends on I2C=y && GENERIC_HARDIRQS
        help
-        Support for the Samsung Electronics MFD series.
-        This driver provides common support for accessing the device,
-        additional drivers must be enabled in order to use the functionality
-        of the device
+         If you say yes here you get support for the Palmas
+         series of PMIC chips from Texas Instruments.
  
- config MFD_ARIZONA
-       select REGMAP
-       select REGMAP_IRQ
+ config MFD_TI_SSP
+       tristate "TI Sequencer Serial Port support"
+       depends on ARCH_DAVINCI_TNETV107X && GENERIC_HARDIRQS
        select MFD_CORE
-       bool
+       ---help---
+         Say Y here if you want support for the Sequencer Serial Port
+         in a Texas Instruments TNETV107X SoC.
  
- config MFD_ARIZONA_I2C
-       tristate "Support Wolfson Microelectronics Arizona platform with I2C"
-       select MFD_ARIZONA
+         To compile this driver as a module, choose M here: the
+         module will be called ti-ssp.
+ config TPS6105X
+       tristate "TI TPS61050/61052 Boost Converters"
+       depends on I2C
+       select REGULATOR
        select MFD_CORE
-       select REGMAP_I2C
-       depends on I2C && GENERIC_HARDIRQS
+       select REGULATOR_FIXED_VOLTAGE
+       depends on GENERIC_HARDIRQS
        help
-         Support for the Wolfson Microelectronics Arizona platform audio SoC
-         core functionality controlled via I2C.
+         This option enables a driver for the TP61050/TPS61052
+         high-power "white LED driver". This boost converter is
+         sometimes used for other things than white LEDs, and
+         also contains a GPIO pin.
  
- config MFD_ARIZONA_SPI
-       tristate "Support Wolfson Microelectronics Arizona platform with SPI"
-       select MFD_ARIZONA
-       select MFD_CORE
-       select REGMAP_SPI
-       depends on SPI_MASTER && GENERIC_HARDIRQS
+ config TPS65010
+       tristate "TI TPS6501x Power Management chips"
+       depends on I2C && GPIOLIB
+       default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
        help
-         Support for the Wolfson Microelectronics Arizona platform audio SoC
-         core functionality controlled via I2C.
+         If you say yes here you get support for the TPS6501x series of
+         Power Management chips.  These include voltage regulators,
+         lithium ion/polymer battery charging, and other features that
+         are often used in portable devices like cell phones and cameras.
  
- config MFD_WM5102
-       bool "Support Wolfson Microelectronics WM5102"
-       depends on MFD_ARIZONA
+         This driver can also be built as a module.  If so, the module
+         will be called tps65010.
+ config TPS6507X
+       tristate "TI TPS6507x Power Management / Touch Screen chips"
+       select MFD_CORE
+       depends on I2C && GENERIC_HARDIRQS
        help
-         Support for Wolfson Microelectronics WM5102 low power audio SoC
+         If you say yes here you get support for the TPS6507x series of
+         Power Management / Touch Screen chips.  These include voltage
+         regulators, lithium ion/polymer battery charging, touch screen
+         and other features that are often used in portable devices.
+         This driver can also be built as a module.  If so, the module
+         will be called tps6507x.
  
- config MFD_WM5110
-       bool "Support Wolfson Microelectronics WM5110"
-       depends on MFD_ARIZONA
+ config TPS65911_COMPARATOR
+       tristate
+ config MFD_TPS65090
+       bool "TI TPS65090 Power Management chips"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       select REGMAP_I2C
+       select REGMAP_IRQ
        help
-         Support for Wolfson Microelectronics WM5110 low power audio SoC
+         If you say yes here you get support for the TPS65090 series of
+         Power Management chips.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
  
- config MFD_WM8400
-       bool "Support Wolfson Microelectronics WM8400"
+ config MFD_TPS65217
+       tristate "TI TPS65217 Power Management / White LED chips"
+       depends on I2C && GENERIC_HARDIRQS
        select MFD_CORE
-       depends on I2C=y && GENERIC_HARDIRQS
        select REGMAP_I2C
        help
-         Support for the Wolfson Microelecronics WM8400 PMIC and audio
-         CODEC.  This driver provides common support for accessing
-         the device, additional drivers must be enabled in order to use
-         the functionality of the device.
+         If you say yes here you get support for the TPS65217 series of
+         Power Management / White LED chips.
+         These include voltage regulators, lithium ion/polymer battery
+         charger, wled and other features that are often used in portable
+         devices.
  
- config MFD_WM831X
-       bool
-       depends on GENERIC_HARDIRQS
+         This driver can also be built as a module.  If so, the module
+         will be called tps65217.
  
- config MFD_WM831X_I2C
-       bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
+ config MFD_TPS6586X
+       bool "TI TPS6586x Power Management chips"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
-       select MFD_WM831X
        select REGMAP_I2C
-       select IRQ_DOMAIN
-       depends on I2C=y && GENERIC_HARDIRQS
        help
-         Support for the Wolfson Microelecronics WM831x and WM832x PMICs
-         when controlled using I2C.  This driver provides common support
-         for accessing the device, additional drivers must be enabled in
-         order to use the functionality of the device.
+         If you say yes here you get support for the TPS6586X series of
+         Power Management chips.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
  
- config MFD_WM831X_SPI
-       bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
+         This driver can also be built as a module.  If so, the module
+         will be called tps6586x.
+ config MFD_TPS65910
+       bool "TI TPS65910 Power Management chip"
+       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
        select MFD_CORE
-       select MFD_WM831X
-       select REGMAP_SPI
+       select REGMAP_I2C
+       select REGMAP_IRQ
        select IRQ_DOMAIN
-       depends on SPI_MASTER && GENERIC_HARDIRQS
        help
-         Support for the Wolfson Microelecronics WM831x and WM832x PMICs
-         when controlled using SPI.  This driver provides common support
-         for accessing the device, additional drivers must be enabled in
-         order to use the functionality of the device.
- config MFD_WM8350
-       bool
-       depends on GENERIC_HARDIRQS
- config MFD_WM8350_CONFIG_MODE_0
-       bool
-       depends on MFD_WM8350
- config MFD_WM8350_CONFIG_MODE_1
-       bool
-       depends on MFD_WM8350
- config MFD_WM8350_CONFIG_MODE_2
-       bool
-       depends on MFD_WM8350
- config MFD_WM8350_CONFIG_MODE_3
-       bool
-       depends on MFD_WM8350
- config MFD_WM8351_CONFIG_MODE_0
-       bool
-       depends on MFD_WM8350
- config MFD_WM8351_CONFIG_MODE_1
-       bool
-       depends on MFD_WM8350
- config MFD_WM8351_CONFIG_MODE_2
-       bool
-       depends on MFD_WM8350
- config MFD_WM8351_CONFIG_MODE_3
-       bool
-       depends on MFD_WM8350
- config MFD_WM8352_CONFIG_MODE_0
-       bool
-       depends on MFD_WM8350
- config MFD_WM8352_CONFIG_MODE_1
-       bool
-       depends on MFD_WM8350
+         if you say yes here you get support for the TPS65910 series of
+         Power Management chips.
  
- config MFD_WM8352_CONFIG_MODE_2
-       bool
-       depends on MFD_WM8350
+ config MFD_TPS65912
+       bool "TI TPS65912 Power Management chip"
+       depends on GPIOLIB
+       help
+         If you say yes here you get support for the TPS65912 series of
+         PM chips.
  
- config MFD_WM8352_CONFIG_MODE_3
-       bool
-       depends on MFD_WM8350
+ config MFD_TPS65912_I2C
+       bool "TI TPS65912 Power Management chip with I2C"
+       select MFD_CORE
+       select MFD_TPS65912
+       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
+       help
+         If you say yes here you get support for the TPS65912 series of
+         PM chips with I2C interface.
  
- config MFD_WM8350_I2C
-       bool "Support Wolfson Microelectronics WM8350 with I2C"
-       select MFD_WM8350
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_TPS65912_SPI
+       bool "TI TPS65912 Power Management chip with SPI"
+       select MFD_CORE
+       select MFD_TPS65912
+       depends on SPI_MASTER && GPIOLIB && GENERIC_HARDIRQS
        help
-         The WM8350 is an integrated audio and power management
-         subsystem with watchdog and RTC functionality for embedded
-         systems.  This option enables core support for the WM8350 with
-         I2C as the control interface.  Additional options must be
-         selected to enable support for the functionality of the chip.
+         If you say yes here you get support for the TPS65912 series of
+         PM chips with SPI interface.
  
- config MFD_WM8994
-       bool "Support Wolfson Microelectronics WM8994"
+ config MFD_TPS80031
+       bool "TI TPS80031/TPS80032 Power Management chips"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
-       depends on I2C=y && GENERIC_HARDIRQS
        help
-         The WM8994 is a highly integrated hi-fi CODEC designed for
-         smartphone applicatiosn.  As well as audio functionality it
-         has on board GPIO and regulator functionality which is
-         supported via the relevant subsystems.  This driver provides
-         core support for the WM8994, in order to use the actual
-         functionaltiy of the device other drivers must be enabled.
+         If you say yes here you get support for the Texas Instruments
+         TPS80031/ TPS80032 Fully Integrated Power Management with Power
+         Path and Battery Charger. The device provides five configurable
+         step-down converters, 11 general purpose LDOs, USB OTG Module,
+         ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
+         Power Path from USB, 32K clock generator.
  
- config MFD_PCF50633
-       tristate "Support for NXP PCF50633"
-       depends on I2C
+ config TWL4030_CORE
+       bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select IRQ_DOMAIN
        select REGMAP_I2C
        help
-         Say yes here if you have NXP PCF50633 chip on your board.
+         Say yes here if you have TWL4030 / TWL6030 family chip on your board.
          This core driver provides register access and IRQ handling
          facilities, and registers devices for the various functions
          so that function-specific drivers can bind to them.
  
- config PCF50633_ADC
-       tristate "Support for NXP PCF50633 ADC"
-       depends on MFD_PCF50633
-       help
-        Say yes here if you want to include support for ADC in the
-        NXP PCF50633 chip.
- config PCF50633_GPIO
-       tristate "Support for NXP PCF50633 GPIO"
-       depends on MFD_PCF50633
-       help
-        Say yes here if you want to include support GPIO for pins on
-        the PCF50633 chip.
- config MFD_MC13783
-       tristate
+         These multi-function chips are found on many OMAP2 and OMAP3
+         boards, providing power management, RTC, GPIO, keypad, a
+         high speed USB OTG transceiver, an audio codec (on most
+         versions) and many other features.
  
- config MFD_MC13XXX
-       tristate
-       depends on (SPI_MASTER || I2C) && GENERIC_HARDIRQS
-       select MFD_CORE
-       select MFD_MC13783
+ config TWL4030_MADC
+       tristate "TI TWL4030 MADC"
+       depends on TWL4030_CORE
        help
-         Enable support for the Freescale MC13783 and MC13892 PMICs.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
+       This driver provides support for triton TWL4030-MADC. The
+       driver supports both RT and SW conversion methods.
  
- config MFD_MC13XXX_SPI
-       tristate "Freescale MC13783 and MC13892 SPI interface"
-       depends on SPI_MASTER && GENERIC_HARDIRQS
-       select REGMAP_SPI
-       select MFD_MC13XXX
-       help
-         Select this if your MC13xxx is connected via an SPI bus.
+       This driver can be built as a module. If so it will be
+       named twl4030-madc
  
- config MFD_MC13XXX_I2C
-       tristate "Freescale MC13892 I2C interface"
-       depends on I2C && GENERIC_HARDIRQS
-       select REGMAP_I2C
-       select MFD_MC13XXX
+ config TWL4030_POWER
+       bool "TI TWL4030 power resources"
+       depends on TWL4030_CORE && ARM
        help
-         Select this if your MC13xxx is connected via an I2C bus.
+         Say yes here if you want to use the power resources on the
+         TWL4030 family chips.  Most of these resources are regulators,
+         which have a separate driver; some are control signals, such
+         as clock request handshaking.
  
- config ABX500_CORE
-       bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
-       default y if ARCH_U300 || ARCH_U8500
-       help
-         Say yes here if you have the ABX500 Mixed Signal IC family
-         chips. This core driver expose register access functions.
-         Functionality specific drivers using these functions can
-         remain unchanged when IC changes. Binding of the functions to
-         actual register access is done by the IC core driver.
+         This driver uses board-specific data to initialize the resources
+         and load scripts controlling which resources are switched off/on
+         or reset when a sleep, wakeup or warm reset event occurs.
  
- config AB3100_CORE
-       bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
-       depends on I2C=y && ABX500_CORE && GENERIC_HARDIRQS
+ config MFD_TWL4030_AUDIO
+       bool "TI TWL4030 Audio"
+       depends on TWL4030_CORE && GENERIC_HARDIRQS
        select MFD_CORE
-       default y if ARCH_U300
-       help
-         Select this to enable the AB3100 Mixed Signal IC core
-         functionality. This connects to a AB3100 on the I2C bus
-         and expose a number of symbols needed for dependent devices
-         to read and write registers and subscribe to events from
-         this multi-functional IC. This is needed to use other features
-         of the AB3100 such as battery-backed RTC, charging control,
-         LEDs, vibrator, system power and temperature, power management
-         and ALSA sound.
- config AB3100_OTP
-       tristate "ST-Ericsson AB3100 OTP functions"
-       depends on AB3100_CORE
-       default y if AB3100_CORE
-       help
-         Select this to enable the AB3100 Mixed Signal IC OTP (one-time
-         programmable memory) support. This exposes a sysfs file to read
-         out OTP values.
- config EZX_PCAP
-       bool "PCAP Support"
-       depends on GENERIC_HARDIRQS && SPI_MASTER
-       help
-         This enables the PCAP ASIC present on EZX Phones. This is
-         needed for MMC, TouchScreen, Sound, USB, etc..
+       default n
  
- config AB8500_CORE
-       bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
-       depends on GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU
-       select POWER_SUPPLY
+ config TWL6040_CORE
+       bool "TI TWL6040 audio codec"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
-       select IRQ_DOMAIN
+       select REGMAP_I2C
+       select REGMAP_IRQ
+       default n
        help
-         Select this option to enable access to AB8500 power management
-         chip. This connects to U8500 either on the SSP/SPI bus (deprecated
-         since hardware version v1.0) or the I2C bus via PRCMU. It also adds
-         the irq_chip parts for handling the Mixed Signal chip events.
-         This chip embeds various other multimedia funtionalities as well.
- config AB8500_DEBUG
-        bool "Enable debug info via debugfs"
-        depends on AB8500_CORE && DEBUG_FS
-        default y if DEBUG_FS
-        help
-          Select this option if you want debug information using the debug
-          filesystem, debugfs.
+         Say yes here if you want support for Texas Instruments TWL6040 audio
+         codec.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device (audio, vibra).
  
- config AB8500_GPADC
-       bool "AB8500 GPADC driver"
-       depends on AB8500_CORE && REGULATOR_AB8500
-       default y
+ config MENELAUS
+       bool "TI TWL92330/Menelaus PM chip"
+       depends on I2C=y && ARCH_OMAP2
        help
-         AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
+         If you say yes here you get support for the Texas Instruments
+         TWL92330/Menelaus Power Management chip. This include voltage
+         regulators, Dual slot memory card transceivers, real-time clock
+         and other features that are often used in portable devices like
+         cell phones and PDAs.
  
- config MFD_DB8500_PRCMU
-       bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
-       depends on UX500_SOC_DB8500
+ config MFD_WL1273_CORE
+       tristate "TI WL1273 FM radio"
+       depends on I2C && GENERIC_HARDIRQS
        select MFD_CORE
+       default n
        help
-         Select this option to enable support for the DB8500 Power Reset
-         and Control Management Unit. This is basically an autonomous
-         system controller running an XP70 microprocessor, which is accessed
-         through a register map.
+         This is the core driver for the TI WL1273 FM radio. This MFD
+         driver connects the radio-wl1273 V4L2 module and the wl1273
+         audio codec.
  
- config MFD_CS5535
-       tristate "Support for CS5535 and CS5536 southbridge core functions"
+ config MFD_LM3533
+       tristate "TI/National Semiconductor LM3533 Lighting Power chip"
+       depends on I2C
        select MFD_CORE
-       depends on PCI && X86
-       ---help---
-         This is the core driver for CS5535/CS5536 MFD functions.  This is
-           necessary for using the board's GPIO and MFGPT functionality.
+       select REGMAP_I2C
+       depends on GENERIC_HARDIRQS
+       help
+         Say yes here to enable support for National Semiconductor / TI
+         LM3533 Lighting Power chips.
+         This driver provides common support for accessing the device;
+         additional drivers must be enabled in order to use the LED,
+         backlight or ambient-light-sensor functionality of the device.
  
  config MFD_TIMBERDALE
-       tristate "Support for the Timberdale FPGA"
+       tristate "Timberdale FPGA"
        select MFD_CORE
        depends on PCI && GPIOLIB
        ---help---
        The timberdale FPGA can be found on the Intel Atom development board
        for in-vehicle infontainment, called Russellville.
  
- config LPC_SCH
-       tristate "Intel SCH LPC"
-       depends on PCI && GENERIC_HARDIRQS
+ config MFD_TC3589X
+       bool "Toshiba TC35892 and variants"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
        help
-         LPC bridge function of the Intel SCH provides support for
-         System Management Bus and General Purpose I/O.
+         Support for the Toshiba TC35892 and variants I/O Expander.
  
- config LPC_ICH
-       tristate "Intel ICH LPC"
-       depends on PCI && GENERIC_HARDIRQS
-       select MFD_CORE
-       help
-         The LPC bridge function of the Intel ICH provides support for
-         many functional units. This driver provides needed support for
-         other drivers to control these functions, currently GPIO and
-         watchdog.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
  
- config MFD_RDC321X
-       tristate "Support for RDC-R321x southbridge"
+ config MFD_TMIO
+       bool
+       default n
+ config MFD_T7L66XB
+       bool "Toshiba T7L66XB"
+       depends on ARM && HAVE_CLK && GENERIC_HARDIRQS
        select MFD_CORE
-       depends on PCI && GENERIC_HARDIRQS
+       select MFD_TMIO
        help
-         Say yes here if you want to have support for the RDC R-321x SoC
-         southbridge which provides access to GPIOs and Watchdog using the
-         southbridge PCI device configuration space.
+         Support for Toshiba Mobile IO Controller T7L66XB
  
- config MFD_JANZ_CMODIO
-       tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
+ config MFD_TC6387XB
+       bool "Toshiba TC6387XB"
+       depends on ARM && HAVE_CLK
        select MFD_CORE
-       depends on PCI && GENERIC_HARDIRQS
+       select MFD_TMIO
        help
-         This is the core driver for the Janz CMOD-IO PCI MODULbus
-         carrier board. This device is a PCI to MODULbus bridge which may
-         host many different types of MODULbus daughterboards, including
-         CAN and GPIO controllers.
+         Support for Toshiba Mobile IO Controller TC6387XB
  
- config MFD_JZ4740_ADC
-       bool "Support for the JZ4740 SoC ADC core"
+ config MFD_TC6393XB
+       bool "Toshiba TC6393XB"
+       depends on ARM && HAVE_CLK
+       select GPIOLIB
        select MFD_CORE
-       select GENERIC_IRQ_CHIP
-       depends on MACH_JZ4740
+       select MFD_TMIO
        help
-         Say yes here if you want support for the ADC unit in the JZ4740 SoC.
-         This driver is necessary for jz4740-battery and jz4740-hwmon driver.
+         Support for Toshiba Mobile IO Controller TC6393XB
  
  config MFD_VX855
-       tristate "Support for VIA VX855/VX875 integrated south bridge"
+       tristate "VIA VX855/VX875 integrated south bridge"
        depends on PCI && GENERIC_HARDIRQS
        select MFD_CORE
        help
          VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
          and/or vx855_gpio drivers for this to do anything useful.
  
- config MFD_WL1273_CORE
-       tristate "Support for TI WL1273 FM radio."
-       depends on I2C && GENERIC_HARDIRQS
+ config MFD_ARIZONA
+       select REGMAP
+       select REGMAP_IRQ
        select MFD_CORE
-       default n
-       help
-         This is the core driver for the TI WL1273 FM radio. This MFD
-         driver connects the radio-wl1273 V4L2 module and the wl1273
-         audio codec.
- config MFD_OMAP_USB_HOST
-       bool "Support OMAP USBHS core and TLL driver"
-       depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
-       default y
-       help
-         This is the core driver for the OAMP EHCI and OHCI drivers.
-         This MFD driver does the required setup functionalities for
-         OMAP USB Host drivers.
- config MFD_PM8XXX
-       tristate
+       bool
  
- config MFD_PM8921_CORE
-       tristate "Qualcomm PM8921 PMIC chip"
-       depends on SSBI && BROKEN
+ config MFD_ARIZONA_I2C
+       tristate "Wolfson Microelectronics Arizona platform with I2C"
+       select MFD_ARIZONA
        select MFD_CORE
-       select MFD_PM8XXX
-       help
-         If you say yes to this option, support will be included for the
-         built-in PM8921 PMIC chip.
-         This is required if your board has a PM8921 and uses its features,
-         such as: MPPs, GPIOs, regulators, interrupts, and PWM.
-         Say M here if you want to include support for PM8921 chip as a module.
-         This will build a module called "pm8921-core".
- config MFD_PM8XXX_IRQ
-       bool "Support for Qualcomm PM8xxx IRQ features"
-       depends on MFD_PM8XXX
-       default y if MFD_PM8XXX
+       select REGMAP_I2C
+       depends on I2C && GENERIC_HARDIRQS
        help
-         This is the IRQ driver for Qualcomm PM 8xxx PMIC chips.
-         This is required to use certain other PM 8xxx features, such as GPIO
-         and MPP.
- config TPS65911_COMPARATOR
-       tristate
+         Support for the Wolfson Microelectronics Arizona platform audio SoC
+         core functionality controlled via I2C.
  
- config MFD_TPS65090
-       bool "TPS65090 Power Management chips"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_ARIZONA_SPI
+       tristate "Wolfson Microelectronics Arizona platform with SPI"
+       select MFD_ARIZONA
        select MFD_CORE
-       select REGMAP_I2C
-       select REGMAP_IRQ
+       select REGMAP_SPI
+       depends on SPI_MASTER && GENERIC_HARDIRQS
        help
-         If you say yes here you get support for the TPS65090 series of
-         Power Management chips.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
+         Support for the Wolfson Microelectronics Arizona platform audio SoC
+         core functionality controlled via I2C.
  
- config MFD_AAT2870_CORE
-       bool "Support for the AnalogicTech AAT2870"
-       select MFD_CORE
-       depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
+ config MFD_WM5102
+       bool "Wolfson Microelectronics WM5102"
+       depends on MFD_ARIZONA
        help
-         If you say yes here you get support for the AAT2870.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
+         Support for Wolfson Microelectronics WM5102 low power audio SoC
  
- config MFD_INTEL_MSIC
-       bool "Support for Intel MSIC"
-       depends on INTEL_SCU_IPC
-       select MFD_CORE
+ config MFD_WM5110
+       bool "Wolfson Microelectronics WM5110"
+       depends on MFD_ARIZONA
        help
-         Select this option to enable access to Intel MSIC (Avatele
-         Passage) chip. This chip embeds audio, battery, GPIO, etc.
-         devices used in Intel Medfield platforms.
+         Support for Wolfson Microelectronics WM5110 low power audio SoC
  
- config MFD_RC5T583
-       bool "Ricoh RC5T583 Power Management system device"
-       depends on I2C=y && GENERIC_HARDIRQS
+ config MFD_WM8400
+       bool "Wolfson Microelectronics WM8400"
        select MFD_CORE
+       depends on I2C=y && GENERIC_HARDIRQS
        select REGMAP_I2C
        help
-         Select this option to get support for the RICOH583 Power
-         Management system device.
-         This driver provides common support for accessing the device
-         through i2c interface. The device supports multiple sub-devices
-         like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
-         Additional drivers must be enabled in order to use the
-         different functionality of the device.
- config MFD_STA2X11
-       bool "STA2X11 multi function device support"
-       depends on STA2X11 && GENERIC_HARDIRQS
-       select MFD_CORE
-       select REGMAP_MMIO
+         Support for the Wolfson Microelecronics WM8400 PMIC and audio
+         CODEC.  This driver provides common support for accessing
+         the device, additional drivers must be enabled in order to use
+         the functionality of the device.
  
- config MFD_SYSCON
-       bool "System Controller Register R/W Based on Regmap"
-       depends on OF
-       select REGMAP_MMIO
-       help
-         Select this option to enable accessing system control registers
-         via regmap.
+ config MFD_WM831X
+       bool
+       depends on GENERIC_HARDIRQS
  
- config MFD_PALMAS
-       bool "Support for the TI Palmas series chips"
+ config MFD_WM831X_I2C
+       bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
        select MFD_CORE
+       select MFD_WM831X
        select REGMAP_I2C
-       select REGMAP_IRQ
+       select IRQ_DOMAIN
        depends on I2C=y && GENERIC_HARDIRQS
        help
-         If you say yes here you get support for the Palmas
-         series of PMIC chips from Texas Instruments.
+         Support for the Wolfson Microelecronics WM831x and WM832x PMICs
+         when controlled using I2C.  This driver provides common support
+         for accessing the device, additional drivers must be enabled in
+         order to use the functionality of the device.
  
- config MFD_VIPERBOARD
-         tristate "Support for Nano River Technologies Viperboard"
+ config MFD_WM831X_SPI
+       bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
        select MFD_CORE
-       depends on USB && GENERIC_HARDIRQS
-       default n
+       select MFD_WM831X
+       select REGMAP_SPI
+       select IRQ_DOMAIN
+       depends on SPI_MASTER && GENERIC_HARDIRQS
        help
-         Say yes here if you want support for Nano River Technologies
-         Viperboard.
-         There are mfd cell drivers available for i2c master, adc and
-         both gpios found on the board. The spi part does not yet
-         have a driver.
-         You need to select the mfd cell drivers separately.
-         The drivers do not support all features the board exposes.
+         Support for the Wolfson Microelecronics WM831x and WM832x PMICs
+         when controlled using SPI.  This driver provides common support
+         for accessing the device, additional drivers must be enabled in
+         order to use the functionality of the device.
  
- config MFD_RETU
-       tristate "Support for Retu multi-function device"
-       select MFD_CORE
-       depends on I2C && GENERIC_HARDIRQS
-       select REGMAP_IRQ
+ config MFD_WM8350
+       bool
+       depends on GENERIC_HARDIRQS
+ config MFD_WM8350_I2C
+       bool "Wolfson Microelectronics WM8350 with I2C"
+       select MFD_WM8350
+       depends on I2C=y && GENERIC_HARDIRQS
        help
-         Retu is a multi-function device found on Nokia Internet Tablets
-         (770, N800 and N810).
+         The WM8350 is an integrated audio and power management
+         subsystem with watchdog and RTC functionality for embedded
+         systems.  This option enables core support for the WM8350 with
+         I2C as the control interface.  Additional options must be
+         selected to enable support for the functionality of the chip.
  
- config MFD_AS3711
-       bool "Support for AS3711"
+ config MFD_WM8994
+       bool "Wolfson Microelectronics WM8994"
        select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
        depends on I2C=y && GENERIC_HARDIRQS
        help
-         Support for the AS3711 PMIC from AMS
+         The WM8994 is a highly integrated hi-fi CODEC designed for
+         smartphone applicatiosn.  As well as audio functionality it
+         has on board GPIO and regulator functionality which is
+         supported via the relevant subsystems.  This driver provides
+         core support for the WM8994, in order to use the actual
+         functionaltiy of the device other drivers must be enabled.
  
  endmenu
  endif
index f70c4956ff9d146d05d32ea55b3cead45f87595e,268664d86a2659b2deb14bbd755cf1c06d32847c..155c4a1a6a99e55f733f6d4ed7b38cd2d0634a2b
@@@ -10,6 -10,7 +10,7 @@@
   * published by the Free Software Foundation.
   */
  
+ #include <linux/device.h>
  #include <linux/module.h>
  
  #include <linux/mfd/arizona/core.h>
@@@ -57,31 -58,54 +58,54 @@@ static const struct reg_default wm5102_
  };
  
  static const struct reg_default wm5102_revb_patch[] = {
+       { 0x19, 0x0001 },
        { 0x80, 0x0003 },
        { 0x081, 0xE022 },
-       { 0x410, 0x4080 },
-       { 0x418, 0x4080 },
-       { 0x420, 0x4080 },
-       { 0x428, 0xC000 },
+       { 0x410, 0x6080 },
+       { 0x418, 0xa080 },
+       { 0x420, 0xa080 },
+       { 0x428, 0xe000 },
+       { 0x443, 0xDC1A },
        { 0x4B0, 0x0066 },
        { 0x458, 0x000b },
        { 0x212, 0x0000 },
+       { 0x171, 0x0000 },
+       { 0x35E, 0x000C },
+       { 0x2D4, 0x0000 },
        { 0x80, 0x0000 },
  };
  
  /* We use a function so we can use ARRAY_SIZE() */
  int wm5102_patch(struct arizona *arizona)
  {
+       const struct reg_default *wm5102_patch;
+       int ret = 0;
+       int i, patch_size;
        switch (arizona->rev) {
        case 0:
-               return regmap_register_patch(arizona->regmap,
-                                            wm5102_reva_patch,
-                                            ARRAY_SIZE(wm5102_reva_patch));
+               wm5102_patch = wm5102_reva_patch;
+               patch_size = ARRAY_SIZE(wm5102_reva_patch);
        default:
-               return regmap_register_patch(arizona->regmap,
-                                            wm5102_revb_patch,
-                                            ARRAY_SIZE(wm5102_revb_patch));
+               wm5102_patch = wm5102_revb_patch;
+               patch_size = ARRAY_SIZE(wm5102_revb_patch);
+       }
+       regcache_cache_bypass(arizona->regmap, true);
+       for (i = 0; i < patch_size; i++) {
+               ret = regmap_write(arizona->regmap, wm5102_patch[i].reg,
+                                  wm5102_patch[i].def);
+               if (ret != 0) {
+                       dev_err(arizona->dev, "Failed to write %x = %x: %d\n",
+                               wm5102_patch[i].reg, wm5102_patch[i].def, ret);
+                       goto out;
+               }
        }
+ out:
+       regcache_cache_bypass(arizona->regmap, false);
+       return ret;
  }
  
  static const struct regmap_irq wm5102_aod_irqs[ARIZONA_NUM_IRQ] = {
@@@ -282,7 -306,7 +306,7 @@@ static const struct reg_default wm5102_
        { 0x00000155, 0x0000 },   /* R341   - Rate Estimator 4 */ 
        { 0x00000156, 0x0000 },   /* R342   - Rate Estimator 5 */ 
        { 0x00000161, 0x0000 },   /* R353   - Dynamic Frequency Scaling 1 */ 
-       { 0x00000171, 0x0002 },   /* R369   - FLL1 Control 1 */
+       { 0x00000171, 0x0000 },   /* R369   - FLL1 Control 1 */
        { 0x00000172, 0x0008 },   /* R370   - FLL1 Control 2 */ 
        { 0x00000173, 0x0018 },   /* R371   - FLL1 Control 3 */ 
        { 0x00000174, 0x007D },   /* R372   - FLL1 Control 4 */ 
        { 0x000002A3, 0x1102 },   /* R675   - Mic Detect 1 */ 
        { 0x000002A4, 0x009F },   /* R676   - Mic Detect 2 */ 
        { 0x000002A5, 0x0000 },   /* R677   - Mic Detect 3 */ 
 +      { 0x000002A6, 0x3737 },   /* R678   - Mic Detect Level 1 */
 +      { 0x000002A7, 0x372C },   /* R679   - Mic Detect Level 2 */
 +      { 0x000002A8, 0x1422 },   /* R680   - Mic Detect Level 3 */
 +      { 0x000002A9, 0x030A },   /* R681   - Mic Detect Level 4 */
        { 0x000002C3, 0x0000 },   /* R707   - Mic noise mix control 1 */ 
        { 0x000002CB, 0x0000 },   /* R715   - Isolation control */ 
        { 0x000002D3, 0x0000 },   /* R723   - Jack detect analogue */ 
        { 0x00000400, 0x0000 },   /* R1024  - Output Enables 1 */ 
        { 0x00000408, 0x0000 },   /* R1032  - Output Rate 1 */ 
        { 0x00000409, 0x0022 },   /* R1033  - Output Volume Ramp */ 
-       { 0x00000410, 0x4080 },   /* R1040  - Output Path Config 1L */
+       { 0x00000410, 0x6080 },   /* R1040  - Output Path Config 1L */
        { 0x00000411, 0x0180 },   /* R1041  - DAC Digital Volume 1L */ 
        { 0x00000412, 0x0081 },   /* R1042  - DAC Volume Limit 1L */
        { 0x00000413, 0x0001 },   /* R1043  - Noise Gate Select 1L */ 
        { 0x00000415, 0x0180 },   /* R1045  - DAC Digital Volume 1R */ 
        { 0x00000416, 0x0081 },   /* R1046  - DAC Volume Limit 1R */
        { 0x00000417, 0x0002 },   /* R1047  - Noise Gate Select 1R */ 
-       { 0x00000418, 0x4080 },   /* R1048  - Output Path Config 2L */
+       { 0x00000418, 0xA080 },   /* R1048  - Output Path Config 2L */
        { 0x00000419, 0x0180 },   /* R1049  - DAC Digital Volume 2L */ 
        { 0x0000041A, 0x0081 },   /* R1050  - DAC Volume Limit 2L */
        { 0x0000041B, 0x0004 },   /* R1051  - Noise Gate Select 2L */ 
        { 0x0000041D, 0x0180 },   /* R1053  - DAC Digital Volume 2R */ 
        { 0x0000041E, 0x0081 },   /* R1054  - DAC Volume Limit 2R */
        { 0x0000041F, 0x0008 },   /* R1055  - Noise Gate Select 2R */ 
-       { 0x00000420, 0x4080 },   /* R1056  - Output Path Config 3L */
+       { 0x00000420, 0xA080 },   /* R1056  - Output Path Config 3L */
        { 0x00000421, 0x0180 },   /* R1057  - DAC Digital Volume 3L */ 
        { 0x00000422, 0x0081 },   /* R1058  - DAC Volume Limit 3L */
        { 0x00000423, 0x0010 },   /* R1059  - Noise Gate Select 3L */ 
-       { 0x00000428, 0xC000 },   /* R1064  - Output Path Config 4L */
+       { 0x00000428, 0xE000 },   /* R1064  - Output Path Config 4L */
        { 0x00000429, 0x0180 },   /* R1065  - DAC Digital Volume 4L */ 
        { 0x0000042A, 0x0081 },   /* R1066  - Out Volume 4L */
        { 0x0000042B, 0x0040 },   /* R1067  - Noise Gate Select 4L */ 
        { 0x00000436, 0x0081 },   /* R1078  - DAC Volume Limit 5R */
        { 0x00000437, 0x0200 },   /* R1079  - Noise Gate Select 5R */
        { 0x00000450, 0x0000 },   /* R1104  - DAC AEC Control 1 */ 
-       { 0x00000458, 0x0001 },   /* R1112  - Noise Gate Control */ 
+       { 0x00000458, 0x000B },   /* R1112  - Noise Gate Control */
        { 0x00000490, 0x0069 },   /* R1168  - PDM SPK1 CTRL 1 */ 
        { 0x00000491, 0x0000 },   /* R1169  - PDM SPK1 CTRL 2 */ 
        { 0x00000500, 0x000C },   /* R1280  - AIF1 BCLK Ctrl */ 
@@@ -1102,10 -1122,6 +1126,10 @@@ static bool wm5102_readable_register(st
        case ARIZONA_MIC_DETECT_1:
        case ARIZONA_MIC_DETECT_2:
        case ARIZONA_MIC_DETECT_3:
 +      case ARIZONA_MIC_DETECT_LEVEL_1:
 +      case ARIZONA_MIC_DETECT_LEVEL_2:
 +      case ARIZONA_MIC_DETECT_LEVEL_3:
 +      case ARIZONA_MIC_DETECT_LEVEL_4:
        case ARIZONA_MIC_NOISE_MIX_CONTROL_1:
        case ARIZONA_ISOLATION_CONTROL:
        case ARIZONA_JACK_DETECT_ANALOGUE:
        case ARIZONA_NOISE_GATE_CONTROL:
        case ARIZONA_PDM_SPK1_CTRL_1:
        case ARIZONA_PDM_SPK1_CTRL_2:
 +      case ARIZONA_SPK_CTRL_2:
 +      case ARIZONA_SPK_CTRL_3:
        case ARIZONA_DAC_COMP_1:
        case ARIZONA_DAC_COMP_2:
        case ARIZONA_DAC_COMP_3:
index 1a1dcb831a170f167b9556c1706950d47cf828e9,35f625e18ba6ec01eae77841746ee8d63b87573f..cbde1d6d3228cb0078fb80490c9588bf20492b6a
@@@ -42,6 -42,7 +42,7 @@@ static int rx51_battery_read_adc(int ch
        req.method = TWL4030_MADC_SW1;
        req.func_cb = NULL;
        req.type = TWL4030_MADC_WAIT;
+       req.raw = true;
  
        if (twl4030_madc_conversion(&req) <= 0)
                return -ENODATA;
@@@ -119,7 -120,7 +120,7 @@@ static int rx51_battery_read_temperatur
  
        /* First check for temperature in first direct table */
        if (raw < ARRAY_SIZE(rx51_temp_table1))
 -              return rx51_temp_table1[raw] * 100;
 +              return rx51_temp_table1[raw] * 10;
  
        /* Binary search RAW value in second inverse table */
        while (max - min > 1) {
                        break;
        }
  
 -      return (rx51_temp_table2_first - min) * 100;
 +      return (rx51_temp_table2_first - min) * 10;
  }
  
  /*
@@@ -202,7 -203,7 +203,7 @@@ static int rx51_battery_probe(struct pl
        struct rx51_device_info *di;
        int ret;
  
 -      di = kzalloc(sizeof(*di), GFP_KERNEL);
 +      di = devm_kzalloc(&pdev->dev, sizeof(*di), GFP_KERNEL);
        if (!di)
                return -ENOMEM;
  
        ret = power_supply_register(di->dev, &di->bat);
        if (ret) {
                platform_set_drvdata(pdev, NULL);
 -              kfree(di);
                return ret;
        }
  
@@@ -229,6 -231,7 +230,6 @@@ static int rx51_battery_remove(struct p
  
        power_supply_unregister(&di->bat);
        platform_set_drvdata(pdev, NULL);
 -      kfree(di);
  
        return 0;
  }
index a0f940987a3e45dc7c2f0b6fc3aa4078f5068f63,554d903cdf41a4cf8fc8af7f376a4e4ed3a3d747..80dead1f710014564bf07319945025e40faca17e
@@@ -78,6 -78,7 +78,7 @@@ struct arizona_micbias 
        unsigned int ext_cap:1;    /** External capacitor fitted */
        unsigned int discharge:1;  /** Actively discharge */
        unsigned int fast_start:1; /** Enable aggressive startup ramp rate */
+       unsigned int bypass:1;     /** Use bypass mode */
  };
  
  struct arizona_micd_config {
        bool gpio;
  };
  
 +struct arizona_micd_range {
 +      int max;  /** Ohms */
 +      int key;  /** Key to report to input layer */
 +};
 +
  struct arizona_pdata {
        int reset;      /** GPIO controlling /RESET, if any */
        int ldoena;     /** GPIO controlling LODENA, if any */
        /** If a direct 32kHz clock is provided on an MCLK specify it here */
        int clk32k_src;
  
-       bool irq_active_high; /** IRQ polarity */
+       /** Mode for primary IRQ (defaults to active low) */
+       unsigned int irq_flags;
  
        /* Base GPIO */
        int gpio_base;
        /** GPIO5 is used for jack detection */
        bool jd_gpio5;
  
 +      /** Internal pull on GPIO5 is disabled when used for jack detection */
 +      bool jd_gpio5_nopull;
 +
        /** Use the headphone detect circuit to identify the accessory */
        bool hpdet_acc_id;
  
 +      /** Check for line output with HPDET method */
 +      bool hpdet_acc_id_line;
 +
        /** GPIO used for mic isolation with HPDET */
        int hpdet_id_gpio;
  
 +      /** Extra debounce timeout used during initial mic detection (ms) */
 +      int micd_detect_debounce;
 +
        /** GPIO for mic detection polarity */
        int micd_pol_gpio;
  
        /** Mic detect debounce level */
        int micd_dbtime;
  
 +      /** Mic detect timeout (ms) */
 +      int micd_timeout;
 +
        /** Force MICBIAS on for mic detect */
        bool micd_force_micbias;
  
 +      /** Mic detect level parameters */
 +      const struct arizona_micd_range *micd_ranges;
 +      int num_micd_ranges;
 +
        /** Headset polarity configurations */
        struct arizona_micd_config *micd_configs;
        int num_micd_configs;
  
        /** Haptic actuator type */
        unsigned int hap_act;
+       /** GPIO for primary IRQ (used for edge triggered emulation) */
+       int irq_gpio;
  };
  
  #endif
index ecddc5173c7ca964f326bbd948337dc4c57a4583,4a066d0caf44b2b5145bd9d2274ec7c14ffe13ae..8f21daf62fb5bf34c7704b4827b22be3b790a53e
@@@ -1,9 -1,10 +1,10 @@@
  /*
   * TI Palmas
   *
-  * Copyright 2011 Texas Instruments Inc.
+  * Copyright 2011-2013 Texas Instruments Inc.
   *
   * Author: Graeme Gregory <gg@slimlogic.co.uk>
+  * Author: Ian Lartey <ian@slimlogic.co.uk>
   *
   *  This program is free software; you can redistribute it and/or modify it
   *  under  the terms of the GNU General  Public License as published by the
  
  #define PALMAS_NUM_CLIENTS            3
  
+ /* The ID_REVISION NUMBERS */
+ #define PALMAS_CHIP_OLD_ID            0x0000
+ #define PALMAS_CHIP_ID                        0xC035
+ #define PALMAS_CHIP_CHARGER_ID                0xC036
+ #define is_palmas(a)  (((a) == PALMAS_CHIP_OLD_ID) || \
+                       ((a) == PALMAS_CHIP_ID))
+ #define is_palmas_charger(a) ((a) == PALMAS_CHIP_CHARGER_ID)
  struct palmas_pmic;
  struct palmas_gpadc;
  struct palmas_resource;
@@@ -109,6 -119,19 +119,6 @@@ struct palmas_reg_init 
         */
        int mode_sleep;
  
 -      /* tstep is the timestep loaded to the TSTEP register
 -       *
 -       * For SMPS
 -       *
 -       * 0: Jump (no slope control)
 -       * 1: 10mV/us
 -       * 2: 5mV/us
 -       * 3: 2.5mV/us
 -       *
 -       * For LDO unused
 -       */
 -      int tstep;
 -
        /* voltage_sel is the bitfield loaded onto the SMPSX_VOLTAGE
         * register. Set this is the default voltage set in OTP needs
         * to be overridden.
@@@ -141,12 -164,6 +151,12 @@@ enum palmas_regulators 
        PALMAS_REG_LDO9,
        PALMAS_REG_LDOLN,
        PALMAS_REG_LDOUSB,
 +      /* External regulators */
 +      PALMAS_REG_REGEN1,
 +      PALMAS_REG_REGEN2,
 +      PALMAS_REG_REGEN3,
 +      PALMAS_REG_SYSEN1,
 +      PALMAS_REG_SYSEN2,
        /* Total number of regulators */
        PALMAS_NUM_REGS,
  };
@@@ -164,9 -181,6 +174,9 @@@ struct palmas_pmic_platform_data 
  
        /* use LDO6 for vibrator control */
        int ldo6_vibrator;
 +
 +      /* Enable tracking mode of LDO8 */
 +      bool enable_ldo8_tracking;
  };
  
  struct palmas_usb_platform_data {
@@@ -327,8 -341,6 +337,8 @@@ struct palmas_pmic 
        int smps457;
  
        int range[PALMAS_REG_SMPS10];
 +      unsigned int ramp_delay[PALMAS_REG_SMPS10];
 +      unsigned int current_reg_mode[PALMAS_REG_SMPS10];
  };
  
  struct palmas_resource {
index 998628a2b08b2acbc02541a4b29da58ad654d1f1,9ce231fda74f3d2fabfaf350b76ac5e3ad78eed1..3f43069413e72dcc2975a14c1e9edf5677365627
@@@ -27,6 -27,7 +27,7 @@@
  
  /* TPS65090 IRQs */
  enum {
+       TPS65090_IRQ_INTERRUPT,
        TPS65090_IRQ_VAC_STATUS_CHANGE,
        TPS65090_IRQ_VSYS_STATUS_CHANGE,
        TPS65090_IRQ_BAT_STATUS_CHANGE,
@@@ -86,11 -87,6 +87,11 @@@ struct tps65090_regulator_plat_data 
  
  struct tps65090_platform_data {
        int irq_base;
 +
 +      char **supplied_to;
 +      size_t num_supplicants;
 +      int enable_low_current_chrg;
 +
        struct tps65090_regulator_plat_data *reg_pdata[TPS65090_REGULATOR_MAX];
  };
  
diff --combined include/linux/of.h
index fb2002f3c7dc5c2487632aae4719fdf1548cc7d3,9f5923fc0775e1ef59cd6c636d4433e154492a45..1b671c3809b8e4f30c445c7f58c43726b0ce6eb6
@@@ -235,9 -235,6 +235,9 @@@ extern struct device_node *of_find_node
  extern struct property *of_find_property(const struct device_node *np,
                                         const char *name,
                                         int *lenp);
 +extern int of_property_read_u32_index(const struct device_node *np,
 +                                     const char *propname,
 +                                     u32 index, u32 *out_value);
  extern int of_property_read_u8_array(const struct device_node *np,
                        const char *propname, u8 *out_values, size_t sz);
  extern int of_property_read_u16_array(const struct device_node *np,
@@@ -356,6 -353,11 +356,11 @@@ static inline struct device_node *of_fi
        return NULL;
  }
  
+ static inline struct device_node *of_get_parent(const struct device_node *node)
+ {
+       return NULL;
+ }
  static inline bool of_have_populated_dt(void)
  {
        return false;
@@@ -397,12 -399,6 +402,12 @@@ static inline struct device_node *of_fi
        return NULL;
  }
  
 +static inline int of_property_read_u32_index(const struct device_node *np,
 +                      const char *propname, u32 index, u32 *out_value)
 +{
 +      return -ENOSYS;
 +}
 +
  static inline int of_property_read_u8_array(const struct device_node *np,
                        const char *propname, u8 *out_values, size_t sz)
  {
@@@ -549,14 -545,4 +554,14 @@@ static inline int of_property_read_u32(
        return of_property_read_u32_array(np, propname, out_value, 1);
  }
  
 +#if defined(CONFIG_PROC_FS) && defined(CONFIG_PROC_DEVICETREE)
 +extern void proc_device_tree_add_node(struct device_node *, struct proc_dir_entry *);
 +extern void proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop);
 +extern void proc_device_tree_remove_prop(struct proc_dir_entry *pde,
 +                                       struct property *prop);
 +extern void proc_device_tree_update_prop(struct proc_dir_entry *pde,
 +                                       struct property *newprop,
 +                                       struct property *oldprop);
 +#endif
 +
  #endif /* _LINUX_OF_H */