Merge tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 15 Apr 2015 00:29:55 +0000 (17:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 15 Apr 2015 00:29:55 +0000 (17:29 -0700)
Pull MFD updates from Lee Jones:
 "Changes to existing drivers:

   - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
   - Rename child driver [max77693-flash => max77693-led]; max77693
   - Error handling fixes; intel_soc_pmic
   - GPIO tweaking; intel_soc_pmic
   - Remove non-DT code; vexpress-sysreg, tc3589x
   - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
                                rtc-s5m, sec-core, max77693, menelaus,
                                wm5102-tables
   - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
                     mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
                     lpc_ich, menelaus, twl6040
   - Update register/address values; rts5227, rts5249
   - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
                                        qcom-rpm, qcom-spmi-pmic
   - Couple of trivial core Kconfig fixups
   - Remove use of seq_printf return value; ab8500-debugfs
   - Remove __exit markups; menelaus, tps65010
   - Fix platform-device name collisions; mfd-core

  New drivers/supported devices:

   - Add support for wm8280/wm8281 into arizona
   - Add support for COMe-cBL6 into kempld-core
   - Add support for rts524a and rts525a into rts5249
   - Add support for ipq8064 into qcom_rpm
   - Add support for extcon into axp20x
   - New MediaTek MT6397 PMIC driver
   - New Maxim MAX77843 PMIC dirver
   - New Intel Quark X1000 I2C-GPIO driver
   - New Skyworks SKY81452 driver"

* tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
  mfd: sec: Fix RTC alarm interrupt number on S2MPS11
  mfd: wm5102: Remove registers for output 3R from readable list
  mfd: tps65010: Remove incorrect __exit markups
  mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
  mfd: axp20x: Add support for extcon cell
  mfd: lpc_ich: Sort IDs
  mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
  mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
  mfd: axp20x: Fix duplicate const for model names
  mfd: menelaus: Use macro for magic number
  mfd: menelaus: Drop support for SW controller VCORE
  mfd: menelaus: Delete omap_has_menelaus
  mfd: arizona: Correct type of gpio_defaults
  mfd: lpc_ich: Sort IDs
  mfd: Fix a typo in Kconfig
  mfd: qcom_rpm: Add support for IPQ8064
  mfd: devicetree: qcom_rpm: Document IPQ8064 resources
  mfd: core: Fix platform-device name collisions
  mfd: intel_quark_i2c_gpio: Don't crash if !DMI
  dt-bindings: Add vendor-prefix for X-Powers
  ...

1  2 
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/input/keyboard/tc3589x-keypad.c
drivers/mfd/kempld-core.c
drivers/regulator/arizona-micsupp.c
include/linux/mfd/max77693.h

@@@ -20,7 -20,6 +20,7 @@@ amlogic       Amlogic, Inc
  ams   AMS AG
  amstaos       AMS-Taos Inc.
  apm   Applied Micro Circuits Corporation (APM)
 +arasan        Arasan Chip Systems
  arm   ARM Ltd.
  armadeus      ARMadeus Systems SARL
  asahi-kasei   Asahi Kasei Corp.
@@@ -28,7 -27,6 +28,7 @@@ atmel Atmel Corporatio
  auo   AU Optronics Corporation
  avago Avago Technologies
  avic  Shanghai AVIC Optoelectronics Co., Ltd.
 +axis  Axis Communications AB
  bosch Bosch Sensortec GmbH
  brcm  Broadcom Corporation
  buffalo       Buffalo, Inc.
@@@ -167,6 -165,7 +167,7 @@@ sii        Seiko Instruments, Inc
  silergy       Silergy Corp.
  sirf  SiRF Technology, Inc.
  sitronix      Sitronix Technology Corporation
+ skyworks      Skyworks Solutions, Inc.
  smsc  Standard Microsystems Corporation
  snps  Synopsys, Inc.
  solidrun      SolidRun
@@@ -194,6 -193,7 +195,7 @@@ voipac     Voipac Technologies s.r.o
  winbond Winbond Electronics corp.
  wlf   Wolfson Microelectronics
  wm    Wondermedia Technologies, Inc.
+ x-powers      X-Powers
  xes   Extreme Engineering Solutions (X-ES)
  xillybus      Xillybus Ltd.
  xlnx  Xilinx
@@@ -296,7 -296,6 +296,6 @@@ static void tc3589x_keypad_close(struc
        tc3589x_keypad_disable(keypad);
  }
  
- #ifdef CONFIG_OF
  static const struct tc3589x_keypad_platform_data *
  tc3589x_keypad_of_probe(struct device *dev)
  {
  
        return plat;
  }
- #else
- static inline const struct tc3589x_keypad_platform_data *
- tc3589x_keypad_of_probe(struct device *dev)
- {
-       return ERR_PTR(-ENODEV);
- }
- #endif
  
  static int tc3589x_keypad_probe(struct platform_device *pdev)
  {
  
        input_set_drvdata(input, keypad);
  
 -      error = request_threaded_irq(irq, NULL,
 -                      tc3589x_keypad_irq, plat->irqtype,
 -                      "tc3589x-keypad", keypad);
 +      error = request_threaded_irq(irq, NULL, tc3589x_keypad_irq,
 +                                   plat->irqtype | IRQF_ONESHOT,
 +                                   "tc3589x-keypad", keypad);
        if (error < 0) {
                dev_err(&pdev->dev,
                                "Could not allocate irq %d,error %d\n",
@@@ -508,8 -508,15 +508,15 @@@ static struct dmi_system_id kempld_dmi_
                },
                .driver_data = (void *)&kempld_platform_data_generic,
                .callback = kempld_create_platform_device,
-       },
-       {
+       }, {
+               .ident = "CBL6",
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+                       DMI_MATCH(DMI_BOARD_NAME, "COMe-cBL6"),
+               },
+               .driver_data = (void *)&kempld_platform_data_generic,
+               .callback = kempld_create_platform_device,
+       }, {
                .ident = "CCR2",
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@@ -739,7 -746,7 +746,7 @@@ static int __init kempld_init(void
                for (id = kempld_dmi_table;
                     id->matches[0].slot != DMI_NONE; id++)
                        if (strstr(id->ident, force_device_id))
 -                              if (id->callback && id->callback(id))
 +                              if (id->callback && !id->callback(id))
                                        break;
                if (id->matches[0].slot == DMI_NONE)
                        return -ENODEV;
@@@ -246,6 -246,7 +246,7 @@@ static int arizona_micsupp_probe(struc
         */
        switch (arizona->type) {
        case WM5110:
+       case WM8280:
                desc = &arizona_micsupp_ext;
                micsupp->init_data = arizona_micsupp_ext_default;
                break;
        micsupp->regulator = devm_regulator_register(&pdev->dev,
                                                     desc,
                                                     &config);
 +
 +      of_node_put(config.of_node);
 +
        if (IS_ERR(micsupp->regulator)) {
                ret = PTR_ERR(micsupp->regulator);
                dev_err(arizona->dev, "Failed to register mic supply: %d\n",
                return ret;
        }
  
 -      of_node_put(config.of_node);
 -
        platform_set_drvdata(pdev, micsupp);
  
        return 0;
@@@ -30,7 -30,7 +30,7 @@@
  #ifndef __LINUX_MFD_MAX77693_H
  #define __LINUX_MFD_MAX77693_H
  
 -/* MAX77686 regulator IDs */
 +/* MAX77693 regulator IDs */
  enum max77693_regulators {
        MAX77693_ESAFEOUT1 = 0,
        MAX77693_ESAFEOUT2,
        MAX77693_REG_MAX,
  };
  
 -struct max77693_regulator_data {
 -      int id;
 -      struct regulator_init_data *initdata;
 -      struct device_node *of_node;
 -};
 -
  struct max77693_reg_data {
        u8 addr;
        u8 data;
@@@ -81,22 -87,13 +81,9 @@@ enum max77693_led_boost_mode 
        MAX77693_LED_BOOST_FIXED,
  };
  
- struct max77693_led_platform_data {
-       u32 fleds[2];
-       u32 iout_torch[2];
-       u32 iout_flash[2];
-       u32 trigger[2];
-       u32 trigger_type[2];
-       u32 num_leds;
-       u32 boost_mode;
-       u32 flash_timeout;
-       u32 boost_vout;
-       u32 low_vsys;
- };
  /* MAX77693 */
  
  struct max77693_platform_data {
 -      /* regulator data */
 -      struct max77693_regulator_data *regulators;
 -      int num_regulators;
 -
        /* muic data */
        struct max77693_muic_platform_data *muic_data;
        struct max77693_led_platform_data *led_data;