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 /drivers/mfd/db8500-prcmu.c | |
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 'drivers/mfd/db8500-prcmu.c')
-rw-r--r-- | drivers/mfd/db8500-prcmu.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index a2bacf95b59e..21f261bf9e95 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/regulator/db8500-prcmu.h> | 33 | #include <linux/regulator/db8500-prcmu.h> |
34 | #include <linux/regulator/machine.h> | 34 | #include <linux/regulator/machine.h> |
35 | #include <linux/cpufreq.h> | 35 | #include <linux/cpufreq.h> |
36 | #include <linux/platform_data/ux500_wdt.h> | ||
36 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
37 | #include <mach/irqs.h> | 38 | #include <mach/irqs.h> |
38 | #include <mach/db8500-regs.h> | 39 | #include <mach/db8500-regs.h> |
@@ -2207,21 +2208,25 @@ int db8500_prcmu_config_a9wdog(u8 num, bool sleep_auto_off) | |||
2207 | sleep_auto_off ? A9WDOG_AUTO_OFF_EN : | 2208 | sleep_auto_off ? A9WDOG_AUTO_OFF_EN : |
2208 | A9WDOG_AUTO_OFF_DIS); | 2209 | A9WDOG_AUTO_OFF_DIS); |
2209 | } | 2210 | } |
2211 | EXPORT_SYMBOL(db8500_prcmu_config_a9wdog); | ||
2210 | 2212 | ||
2211 | int db8500_prcmu_enable_a9wdog(u8 id) | 2213 | int db8500_prcmu_enable_a9wdog(u8 id) |
2212 | { | 2214 | { |
2213 | return prcmu_a9wdog(MB4H_A9WDOG_EN, id, 0, 0, 0); | 2215 | return prcmu_a9wdog(MB4H_A9WDOG_EN, id, 0, 0, 0); |
2214 | } | 2216 | } |
2217 | EXPORT_SYMBOL(db8500_prcmu_enable_a9wdog); | ||
2215 | 2218 | ||
2216 | int db8500_prcmu_disable_a9wdog(u8 id) | 2219 | int db8500_prcmu_disable_a9wdog(u8 id) |
2217 | { | 2220 | { |
2218 | return prcmu_a9wdog(MB4H_A9WDOG_DIS, id, 0, 0, 0); | 2221 | return prcmu_a9wdog(MB4H_A9WDOG_DIS, id, 0, 0, 0); |
2219 | } | 2222 | } |
2223 | EXPORT_SYMBOL(db8500_prcmu_disable_a9wdog); | ||
2220 | 2224 | ||
2221 | int db8500_prcmu_kick_a9wdog(u8 id) | 2225 | int db8500_prcmu_kick_a9wdog(u8 id) |
2222 | { | 2226 | { |
2223 | return prcmu_a9wdog(MB4H_A9WDOG_KICK, id, 0, 0, 0); | 2227 | return prcmu_a9wdog(MB4H_A9WDOG_KICK, id, 0, 0, 0); |
2224 | } | 2228 | } |
2229 | EXPORT_SYMBOL(db8500_prcmu_kick_a9wdog); | ||
2225 | 2230 | ||
2226 | /* | 2231 | /* |
2227 | * timeout is 28 bit, in ms. | 2232 | * timeout is 28 bit, in ms. |
@@ -2239,6 +2244,7 @@ int db8500_prcmu_load_a9wdog(u8 id, u32 timeout) | |||
2239 | (u8)((timeout >> 12) & 0xff), | 2244 | (u8)((timeout >> 12) & 0xff), |
2240 | (u8)((timeout >> 20) & 0xff)); | 2245 | (u8)((timeout >> 20) & 0xff)); |
2241 | } | 2246 | } |
2247 | EXPORT_SYMBOL(db8500_prcmu_load_a9wdog); | ||
2242 | 2248 | ||
2243 | /** | 2249 | /** |
2244 | * prcmu_abb_read() - Read register value(s) from the ABB. | 2250 | * prcmu_abb_read() - Read register value(s) from the ABB. |
@@ -3094,6 +3100,11 @@ static struct resource ab8500_resources[] = { | |||
3094 | } | 3100 | } |
3095 | }; | 3101 | }; |
3096 | 3102 | ||
3103 | static struct ux500_wdt_data db8500_wdt_pdata = { | ||
3104 | .timeout = 600, /* 10 minutes */ | ||
3105 | .has_28_bits_resolution = true, | ||
3106 | }; | ||
3107 | |||
3097 | static struct mfd_cell db8500_prcmu_devs[] = { | 3108 | static struct mfd_cell db8500_prcmu_devs[] = { |
3098 | { | 3109 | { |
3099 | .name = "db8500-prcmu-regulators", | 3110 | .name = "db8500-prcmu-regulators", |
@@ -3108,6 +3119,12 @@ static struct mfd_cell db8500_prcmu_devs[] = { | |||
3108 | .pdata_size = sizeof(db8500_cpufreq_table), | 3119 | .pdata_size = sizeof(db8500_cpufreq_table), |
3109 | }, | 3120 | }, |
3110 | { | 3121 | { |
3122 | .name = "ux500_wdt", | ||
3123 | .platform_data = &db8500_wdt_pdata, | ||
3124 | .pdata_size = sizeof(db8500_wdt_pdata), | ||
3125 | .id = -1, | ||
3126 | }, | ||
3127 | { | ||
3111 | .name = "ab8500-core", | 3128 | .name = "ab8500-core", |
3112 | .of_compatible = "stericsson,ab8500", | 3129 | .of_compatible = "stericsson,ab8500", |
3113 | .num_resources = ARRAY_SIZE(ab8500_resources), | 3130 | .num_resources = ARRAY_SIZE(ab8500_resources), |