diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-24 23:00:58 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-24 23:00:58 -0500 |
commit | ab7826595e9ec51a51f622c5fc91e2f59440481a (patch) | |
tree | 34241b399fa7a12c260e06e6c1c31bc69d46e1e3 /include/linux/mfd/abx500 | |
parent | 21fbd5809ad126b949206d78e0a0e07ec872ea11 (diff) | |
parent | ff7109fa632654eaef657186f2942f5b679023d6 (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.h | 5 | ||||
-rw-r--r-- | include/linux/mfd/abx500/ab8500.h | 12 |
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 */ | ||
41 | struct 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; | |||
368 | struct regulator_init_data; | 368 | struct regulator_init_data; |
369 | struct ab8500_gpio_platform_data; | 369 | struct ab8500_gpio_platform_data; |
370 | struct ab8500_codec_platform_data; | 370 | struct ab8500_codec_platform_data; |
371 | struct 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 | */ |
381 | struct ab8500_platform_data { | 383 | struct 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 | ||
392 | extern int ab8500_init(struct ab8500 *ab8500, | 396 | extern 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 | ||
516 | void ab8500_dump_all_banks(struct device *dev); | ||
517 | void ab8500_debug_register_interrupt(int line); | ||
518 | #else | ||
519 | static inline void ab8500_dump_all_banks(struct device *dev) {} | ||
520 | static inline void ab8500_debug_register_interrupt(int line) {} | ||
521 | #endif | ||
522 | |||
511 | #endif /* MFD_AB8500_H */ | 523 | #endif /* MFD_AB8500_H */ |