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:
@@ -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 */
|
||||
|
Reference in New Issue
Block a user