From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Mon, 6 May 2013 00:36:20 +0000 (-0700)
Subject: Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd... 
X-Git-Tag: firefly_0821_release~3680^2~568
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d7ab7302f970a254997687a1cdede421a5635c68;p=firefly-linux-kernel-4.4.55.git

Merge tag 'mfd-3.10-1' of git://git./linux/kernel/git/sameo/mfd-next

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()
  ...
---

d7ab7302f970a254997687a1cdede421a5635c68
diff --cc arch/arm/mach-s3c64xx/mach-crag6410-module.c
index a946b759fabd,40b0e75b1ecc..7ccfef227c77
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@@ -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 */
diff --cc drivers/mfd/Kconfig
index ca86581d02ce,7acd863287d1..d9aed1593e5d
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@@ -275,149 -310,217 +310,217 @@@ config MFD_MAX890
  	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