aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/abx500
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-24 23:00:58 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-24 23:00:58 -0500
commitab7826595e9ec51a51f622c5fc91e2f59440481a (patch)
tree34241b399fa7a12c260e06e6c1c31bc69d46e1e3 /include/linux/mfd/abx500
parent21fbd5809ad126b949206d78e0a0e07ec872ea11 (diff)
parentff7109fa632654eaef657186f2942f5b679023d6 (diff)
Merge tag 'mfd-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFS updates from Samuel Ortiz: "This is the MFD pull request for the 3.9 merge window. No new drivers this time, but a bunch of fairly big cleanups: - Roger Quadros worked on a OMAP USBHS and TLL platform data consolidation, OMAP5 support and clock management code cleanup. - The first step of a major sync for the ab8500 driver from Lee Jones. In particular, the debugfs and the sysct interfaces got extended and improved. - Peter Ujfalusi sent a nice patchset for cleaning and fixing the twl-core driver, with a much needed module id lookup code improvement. - The regular wm5102 and arizona cleanups and fixes from Mark Brown. - Laxman Dewangan extended the palmas APIs in order to implement the palmas GPIO and rt drivers. - Laxman also added DT support for the tps65090 driver. - The Intel SCH and ICH drivers got a couple fixes from Aaron Sierra and Darren Hart. - Linus Walleij patchset for the ab8500 driver allowed ab8500 and ab9540 based devices to switch to the new abx500 pin-ctrl driver. - The max8925 now has device tree and irqdomain support thanks to Qing Xu. - The recently added rtsx driver got a few cleanups and fixes for a better card detection code path and now also supports the RTS5227 chipset, thanks to Wei Wang and Roger Tseng." * tag 'mfd-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (109 commits) mfd: lpc_ich: Use devres API to allocate private data mfd: lpc_ich: Add Device IDs for Intel Wellsburg PCH mfd: lpc_sch: Accomodate partial population of the MFD devices mfd: da9052-i2c: Staticize da9052_i2c_fix() mfd: syscon: Fix sparse warning mfd: twl-core: Fix kernel panic on boot mfd: rtsx: Fix issue that booting OS with SD card inserted mfd: ab8500: Fix compile error mfd: Add missing GENERIC_HARDIRQS dependecies Documentation: Add docs for max8925 dt mfd: max8925: Add dts mfd: max8925: Support dt for backlight mfd: max8925: Fix onkey driver irq base mfd: max8925: Fix mfd device register failure mfd: max8925: Add irqdomain for dt mfd: vexpress: Allow vexpress-sysreg to self-initialise mfd: rtsx: Support RTS5227 mfd: rtsx: Implement driving adjustment to device-dependent callbacks mfd: vexpress: Add pseudo-GPIO based LEDs mfd: ab8500: Rename ab8500 to abx500 for hwmon driver ...
Diffstat (limited to 'include/linux/mfd/abx500')
-rw-r--r--include/linux/mfd/abx500/ab8500-sysctrl.h5
-rw-r--r--include/linux/mfd/abx500/ab8500.h12
2 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500/ab8500-sysctrl.h b/include/linux/mfd/abx500/ab8500-sysctrl.h
index 10eb50973c39..ebf12e793db9 100644
--- a/include/linux/mfd/abx500/ab8500-sysctrl.h
+++ b/include/linux/mfd/abx500/ab8500-sysctrl.h
@@ -37,6 +37,11 @@ static inline int ab8500_sysctrl_clear(u16 reg, u8 bits)
37 return ab8500_sysctrl_write(reg, bits, 0); 37 return ab8500_sysctrl_write(reg, bits, 0);
38} 38}
39 39
40/* Configuration data for SysClkReq1RfClkBuf - SysClkReq8RfClkBuf */
41struct ab8500_sysctrl_platform_data {
42 u8 initial_req_buf_config[8];
43};
44
40/* Registers */ 45/* Registers */
41#define AB8500_TURNONSTATUS 0x100 46#define AB8500_TURNONSTATUS 0x100
42#define AB8500_RESETSTATUS 0x101 47#define AB8500_RESETSTATUS 0x101
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index fc0534483c72..9db0bda446a0 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -368,10 +368,12 @@ struct regulator_reg_init;
368struct regulator_init_data; 368struct regulator_init_data;
369struct ab8500_gpio_platform_data; 369struct ab8500_gpio_platform_data;
370struct ab8500_codec_platform_data; 370struct ab8500_codec_platform_data;
371struct ab8500_sysctrl_platform_data;
371 372
372/** 373/**
373 * struct ab8500_platform_data - AB8500 platform data 374 * struct ab8500_platform_data - AB8500 platform data
374 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used 375 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used
376 * @pm_power_off: Should machine pm power off hook be registered or not
375 * @init: board-specific initialization after detection of ab8500 377 * @init: board-specific initialization after detection of ab8500
376 * @num_regulator_reg_init: number of regulator init registers 378 * @num_regulator_reg_init: number of regulator init registers
377 * @regulator_reg_init: regulator init registers 379 * @regulator_reg_init: regulator init registers
@@ -380,6 +382,7 @@ struct ab8500_codec_platform_data;
380 */ 382 */
381struct ab8500_platform_data { 383struct ab8500_platform_data {
382 int irq_base; 384 int irq_base;
385 bool pm_power_off;
383 void (*init) (struct ab8500 *); 386 void (*init) (struct ab8500 *);
384 int num_regulator_reg_init; 387 int num_regulator_reg_init;
385 struct ab8500_regulator_reg_init *regulator_reg_init; 388 struct ab8500_regulator_reg_init *regulator_reg_init;
@@ -387,6 +390,7 @@ struct ab8500_platform_data {
387 struct regulator_init_data *regulator; 390 struct regulator_init_data *regulator;
388 struct abx500_gpio_platform_data *gpio; 391 struct abx500_gpio_platform_data *gpio;
389 struct ab8500_codec_platform_data *codec; 392 struct ab8500_codec_platform_data *codec;
393 struct ab8500_sysctrl_platform_data *sysctrl;
390}; 394};
391 395
392extern int ab8500_init(struct ab8500 *ab8500, 396extern int ab8500_init(struct ab8500 *ab8500,
@@ -508,4 +512,12 @@ static inline int is_ab9540_2p0_or_earlier(struct ab8500 *ab)
508 return (is_ab9540(ab) && (ab->chip_id < AB8500_CUT2P0)); 512 return (is_ab9540(ab) && (ab->chip_id < AB8500_CUT2P0));
509} 513}
510 514
515#ifdef CONFIG_AB8500_DEBUG
516void ab8500_dump_all_banks(struct device *dev);
517void ab8500_debug_register_interrupt(int line);
518#else
519static inline void ab8500_dump_all_banks(struct device *dev) {}
520static inline void ab8500_debug_register_interrupt(int line) {}
521#endif
522
511#endif /* MFD_AB8500_H */ 523#endif /* MFD_AB8500_H */