Merge tag 'mfd-3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next

Pull MFD (multi-function device) updates from Samuel Ortiz:
 "For the 3.12 merge window we have one new driver for the DA9063 PMIC
  from Dialog Semiconductor.

  Besides that driver we also have:

   - Device tree support for the s2mps11 driver

   - More devm_* conversion for the pm8921, max89xx, menelaus, tps65010,
     wl1273 and pcf50633-adc drivers.

   - A conversion to threaded IRQ and IRQ domain for the twl6030 driver.

   - A fairly big update for the rtsx driver: Better power saving
     support, better vendor settings handling, and a few fixes.

   - Support for a couple more boards (COMe-bHL6 and COMe-cTH6) for the
     Kontron driver.

   - A conversion to the dev_get_platdata() API for all MFD drivers.

   - A removal of non-DT (legacy) support for the twl6040 driver.

   - A few fixes and additions (Mic detect level) to the wm5110 register
     tables.

   - Regmap support for the davinci_voicecodec driver.

   - The usual bunch of minor cleanups and janitorial fixes"

* tag 'mfd-3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (81 commits)
  mfd: ucb1x00-core: Rewrite ucb1x00_add_dev()
  mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for event name
  mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for sysfs
  mfd: timberdale: Use module_pci_driver
  mfd: timberdale: Remove redundant break
  mfd: timberdale: Staticize local variables
  mfd: ab8500-debugfs: Staticize local variables
  mfd: db8500-prcmu: Staticize clk_mgt
  mfd: db8500-prcmu: Use ANSI function declaration
  mfd: omap-usb-host: Staticize usbhs_driver_name
  mfd: 88pm805: Fix potential NULL pdata dereference
  mfd: 88pm800: Fix potential NULL pdata dereference
  mfd: twl6040: Use regmap for register cache
  mfd: davinci_voicecodec: Provide a regmap for register I/O
  mfd: davinci_voicecodec: Remove unused read and write functions
  mmc: memstick: rtsx: Modify copyright comments
  mmc: rtsx: Clear SD_CLK toggle enable bit if switching voltage fail
  mfd: mmc: rtsx: Change default tx phase
  mfd: pcf50633-adc: Use devm_*() functions
  mfd: rtsx: Copyright modifications
  ...
This commit is contained in:
Linus Torvalds
2013-09-07 20:14:19 -07:00
106 changed files with 3220 additions and 654 deletions

View File

@@ -184,6 +184,50 @@ enum palmas_regulators {
PALMAS_NUM_REGS,
};
/* External controll signal name */
enum {
PALMAS_EXT_CONTROL_ENABLE1 = 0x1,
PALMAS_EXT_CONTROL_ENABLE2 = 0x2,
PALMAS_EXT_CONTROL_NSLEEP = 0x4,
};
/*
* Palmas device resources can be controlled externally for
* enabling/disabling it rather than register write through i2c.
* Add the external controlled requestor ID for different resources.
*/
enum palmas_external_requestor_id {
PALMAS_EXTERNAL_REQSTR_ID_REGEN1,
PALMAS_EXTERNAL_REQSTR_ID_REGEN2,
PALMAS_EXTERNAL_REQSTR_ID_SYSEN1,
PALMAS_EXTERNAL_REQSTR_ID_SYSEN2,
PALMAS_EXTERNAL_REQSTR_ID_CLK32KG,
PALMAS_EXTERNAL_REQSTR_ID_CLK32KGAUDIO,
PALMAS_EXTERNAL_REQSTR_ID_REGEN3,
PALMAS_EXTERNAL_REQSTR_ID_SMPS12,
PALMAS_EXTERNAL_REQSTR_ID_SMPS3,
PALMAS_EXTERNAL_REQSTR_ID_SMPS45,
PALMAS_EXTERNAL_REQSTR_ID_SMPS6,
PALMAS_EXTERNAL_REQSTR_ID_SMPS7,
PALMAS_EXTERNAL_REQSTR_ID_SMPS8,
PALMAS_EXTERNAL_REQSTR_ID_SMPS9,
PALMAS_EXTERNAL_REQSTR_ID_SMPS10,
PALMAS_EXTERNAL_REQSTR_ID_LDO1,
PALMAS_EXTERNAL_REQSTR_ID_LDO2,
PALMAS_EXTERNAL_REQSTR_ID_LDO3,
PALMAS_EXTERNAL_REQSTR_ID_LDO4,
PALMAS_EXTERNAL_REQSTR_ID_LDO5,
PALMAS_EXTERNAL_REQSTR_ID_LDO6,
PALMAS_EXTERNAL_REQSTR_ID_LDO7,
PALMAS_EXTERNAL_REQSTR_ID_LDO8,
PALMAS_EXTERNAL_REQSTR_ID_LDO9,
PALMAS_EXTERNAL_REQSTR_ID_LDOLN,
PALMAS_EXTERNAL_REQSTR_ID_LDOUSB,
/* Last entry */
PALMAS_EXTERNAL_REQSTR_ID_MAX,
};
struct palmas_pmic_platform_data {
/* An array of pointers to regulator init data indexed by regulator
* ID
@@ -259,6 +303,7 @@ struct palmas_platform_data {
*/
int mux_from_pdata;
u8 pad1, pad2;
bool pm_off;
struct palmas_pmic_platform_data *pmic_pdata;
struct palmas_gpadc_platform_data *gpadc_pdata;
@@ -2878,4 +2923,9 @@ static inline int palmas_irq_get_virq(struct palmas *palmas, int irq)
return regmap_irq_get_virq(palmas->irq_data, irq);
}
int palmas_ext_control_req_config(struct palmas *palmas,
enum palmas_external_requestor_id ext_control_req_id,
int ext_ctrl, bool enable);
#endif /* __LINUX_MFD_PALMAS_H */