From: Linus Torvalds Date: Wed, 28 Mar 2012 20:56:35 +0000 (-0700) Subject: Merge tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 X-Git-Tag: v3.4~353 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30304e5a79d424eb2c8707b3ff0e9b8bf6ab3e8f;p=platform%2Fkernel%2Flinux-amlogic.git Merge tag 'mfd_3.4-1' of git://git./linux/kernel/git/sameo/mfd-2.6 Pull MFD changes from Samuel Ortiz: - 4 new drivers: Freescale i.MX on-chip Anatop, Ricoh's RC5T583 and TI's TPS65090 and TPS65217. - New variants support (8420, 8520 ab9540), cleanups and bug fixes for the abx500 and db8500 ST-E chipsets. - Some minor fixes and update for the wm8994 from Mark. - The beginning of a long term TWL cleanup effort coming from the TI folks. - Various fixes and cleanups for the s5m, TPS659xx, pm860x, and MAX8997 drivers. Fix up trivial conflicts due to duplicate patches and header file cleanups ( removal etc). * tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (97 commits) gpio/twl: Add DT support to gpio-twl4030 driver gpio/twl: Allocate irq_desc dynamically for SPARSE_IRQ support mfd: Detach twl6040 from the pmic mfd driver mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups mfd: Micro-optimization on twl4030 IRQ handler mfd: Make twl4030 SIH SPARSE_IRQ capable mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files mfd: Remove references already defineid in header file from twl-core mfd: Remove unneeded header from twl-core mfd: Make twl-core not depend on pdata->irq_base/end ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files mfd: Return twl6030_mmc_card_detect IRQ for board setup Revert "mfd: Add platform data for MAX8997 haptic driver" mfd: Add support for TPS65090 mfd: Add some da9052-i2c section annotations mfd: Build rtc5t583 only if I2C config is selected to y. mfd: Add anatop mfd driver mfd: Fix compilation error in tps65910.h mfd: Add 8420 variant to db8500-prcmu mfd: Add 8520 PRCMU variant to db8500-prcmu ... --- 30304e5a79d424eb2c8707b3ff0e9b8bf6ab3e8f diff --cc include/linux/i2c/twl.h index 7fcab23,8b9904a..2463b61 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h @@@ -752,16 -749,9 +752,16 @@@ struct twl4030_platform_data struct regulator_init_data *vio6025; }; +struct twl_regulator_driver_data { + int (*set_voltage)(void *data, int target_uV); + int (*get_voltage)(void *data); + void *data; + unsigned long features; +}; + /*----------------------------------------------------------------------*/ - int twl4030_sih_setup(int module); + int twl4030_sih_setup(struct device *dev, int module, int irq_base); /* Offsets to Power Registers */ #define TWL4030_VDAC_DEV_GRP 0x3B diff --cc include/linux/mfd/abx500/ab8500.h index dca9439,3b551a1..fccc300 --- a/include/linux/mfd/abx500/ab8500.h +++ b/include/linux/mfd/abx500/ab8500.h @@@ -7,11 -7,31 +7,34 @@@ #ifndef MFD_AB8500_H #define MFD_AB8500_H -#include +#include + +struct device; + /* + * AB IC versions + * + * AB8500_VERSION_AB8500 should be 0xFF but will never be read as need a + * non-supported multi-byte I2C access via PRCMU. Set to 0x00 to ease the + * print of version string. + */ + enum ab8500_version { + AB8500_VERSION_AB8500 = 0x0, + AB8500_VERSION_AB8505 = 0x1, + AB8500_VERSION_AB9540 = 0x2, + AB8500_VERSION_AB8540 = 0x3, + AB8500_VERSION_UNDEFINED, + }; + + /* AB8500 CIDs*/ + #define AB8500_CUTEARLY 0x00 + #define AB8500_CUT1P0 0x10 + #define AB8500_CUT1P1 0x11 + #define AB8500_CUT2P0 0x20 + #define AB8500_CUT3P0 0x30 + #define AB8500_CUT3P3 0x33 + + /* * AB8500 bank addresses */ #define AB8500_SYS_CTRL1_BLOCK 0x1