diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-03 12:40:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-03 12:40:51 -0400 |
commit | a0a4194c943bc64dd7b6e26cccb036cb26b81363 (patch) | |
tree | 4282f0dd573344d10f69616eb05868b5cd563cc1 /arch/arm | |
parent | cf0223503e6198292cdcc864e01eeb5fe7490752 (diff) | |
parent | b958f7a7cbdfbf59ba61de7ebb9c59b0ee3a7967 (diff) |
Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6
* 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
mfd: Fix missing abx500 header file updates
mfd: Add missing <linux/io.h> include to intel_msic
x86, mrst: add platform support for MSIC MFD driver
mfd: Expose TurnOnStatus in ab8500 sysfs
mfd: Remove support for early drop ab8500 chip
mfd: Add support for ab8500 v3.3
mfd: Add ab8500 interrupt disable hook
mfd: Convert db8500-prcmu panic() into pr_crit()
mfd: Refactor db8500-prcmu request_clock() function
mfd: Rename db8500-prcmu init function
mfd: Fix db5500-prcmu defines
mfd: db8500-prcmu voltage domain consumers additions
mfd: db8500-prcmu reset code retrieval
mfd: db8500-prcmu tweak for modem wakeup
mfd: Add db8500-pcmu watchdog accessor functions for watchdog
mfd: hwacc power state db8500-prcmu accessor
mfd: Add db8500-prcmu accessors for PLL and SGA clock
mfd: Move to the new db500 PRCMU API
mfd: Create a common interface for dbx500 PRCMU drivers
mfd: Initialize DB8500 PRCMU regs
...
Fix up trivial conflicts in
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-u300/include/mach/irqs.h
drivers/mfd/wm831x-spi.c
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-imx/mach-mx27_3ds.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31_3ds.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31lite.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31moboard.c | 15 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm038.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx51_efika.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-u300/i2c.c | 51 | ||||
-rw-r--r-- | arch/arm/mach-u300/include/mach/irqs.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-u5500.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 2 |
12 files changed, 55 insertions, 75 deletions
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c index cfa84178eb26..ba232d79fa81 100644 --- a/arch/arm/mach-imx/mach-mx27_3ds.c +++ b/arch/arm/mach-imx/mach-mx27_3ds.c | |||
@@ -293,8 +293,7 @@ static struct mc13xxx_platform_data mc13783_pdata = { | |||
293 | .num_regulators = ARRAY_SIZE(mx27_3ds_regulators), | 293 | .num_regulators = ARRAY_SIZE(mx27_3ds_regulators), |
294 | 294 | ||
295 | }, | 295 | }, |
296 | .flags = MC13783_USE_REGULATOR | MC13783_USE_TOUCHSCREEN | | 296 | .flags = MC13XXX_USE_TOUCHSCREEN | MC13XXX_USE_RTC, |
297 | MC13783_USE_RTC, | ||
298 | }; | 297 | }; |
299 | 298 | ||
300 | /* SPI */ | 299 | /* SPI */ |
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c index 60f1fda6ce97..b8c54b840185 100644 --- a/arch/arm/mach-imx/mach-mx31_3ds.c +++ b/arch/arm/mach-imx/mach-mx31_3ds.c | |||
@@ -492,7 +492,7 @@ static struct mc13xxx_platform_data mc13783_pdata = { | |||
492 | .regulators = mx31_3ds_regulators, | 492 | .regulators = mx31_3ds_regulators, |
493 | .num_regulators = ARRAY_SIZE(mx31_3ds_regulators), | 493 | .num_regulators = ARRAY_SIZE(mx31_3ds_regulators), |
494 | }, | 494 | }, |
495 | .flags = MC13783_USE_REGULATOR | MC13783_USE_TOUCHSCREEN, | 495 | .flags = MC13XXX_USE_TOUCHSCREEN, |
496 | }; | 496 | }; |
497 | 497 | ||
498 | /* SPI */ | 498 | /* SPI */ |
diff --git a/arch/arm/mach-imx/mach-mx31lite.c b/arch/arm/mach-imx/mach-mx31lite.c index c97c26d814ed..05f1c71ba409 100644 --- a/arch/arm/mach-imx/mach-mx31lite.c +++ b/arch/arm/mach-imx/mach-mx31lite.c | |||
@@ -112,8 +112,7 @@ static const struct spi_imx_master spi1_pdata __initconst = { | |||
112 | }; | 112 | }; |
113 | 113 | ||
114 | static struct mc13xxx_platform_data mc13783_pdata __initdata = { | 114 | static struct mc13xxx_platform_data mc13783_pdata __initdata = { |
115 | .flags = MC13XXX_USE_RTC | | 115 | .flags = MC13XXX_USE_RTC, |
116 | MC13XXX_USE_REGULATOR, | ||
117 | }; | 116 | }; |
118 | 117 | ||
119 | static struct spi_board_info mc13783_spi_dev __initdata = { | 118 | static struct spi_board_info mc13783_spi_dev __initdata = { |
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index fff7791b7e7c..07034f44466a 100644 --- a/arch/arm/mach-imx/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/clk.h> | 31 | #include <linux/clk.h> |
32 | #include <linux/io.h> | 32 | #include <linux/io.h> |
33 | #include <linux/err.h> | 33 | #include <linux/err.h> |
34 | #include <linux/input.h> | ||
34 | 35 | ||
35 | #include <linux/usb/otg.h> | 36 | #include <linux/usb/otg.h> |
36 | #include <linux/usb/ulpi.h> | 37 | #include <linux/usb/ulpi.h> |
@@ -225,7 +226,7 @@ static struct mc13xxx_regulator_init_data moboard_regulators[] = { | |||
225 | }, | 226 | }, |
226 | }; | 227 | }; |
227 | 228 | ||
228 | static struct mc13783_led_platform_data moboard_led[] = { | 229 | static struct mc13xxx_led_platform_data moboard_led[] = { |
229 | { | 230 | { |
230 | .id = MC13783_LED_R1, | 231 | .id = MC13783_LED_R1, |
231 | .name = "coreboard-led-4:red", | 232 | .name = "coreboard-led-4:red", |
@@ -258,7 +259,7 @@ static struct mc13783_led_platform_data moboard_led[] = { | |||
258 | }, | 259 | }, |
259 | }; | 260 | }; |
260 | 261 | ||
261 | static struct mc13783_leds_platform_data moboard_leds = { | 262 | static struct mc13xxx_leds_platform_data moboard_leds = { |
262 | .num_leds = ARRAY_SIZE(moboard_led), | 263 | .num_leds = ARRAY_SIZE(moboard_led), |
263 | .led = moboard_led, | 264 | .led = moboard_led, |
264 | .flags = MC13783_LED_SLEWLIMTC, | 265 | .flags = MC13783_LED_SLEWLIMTC, |
@@ -267,14 +268,20 @@ static struct mc13783_leds_platform_data moboard_leds = { | |||
267 | .tc2_period = MC13783_LED_PERIOD_10MS, | 268 | .tc2_period = MC13783_LED_PERIOD_10MS, |
268 | }; | 269 | }; |
269 | 270 | ||
271 | static struct mc13xxx_buttons_platform_data moboard_buttons = { | ||
272 | .b1on_flags = MC13783_BUTTON_DBNC_750MS | MC13783_BUTTON_ENABLE | | ||
273 | MC13783_BUTTON_POL_INVERT, | ||
274 | .b1on_key = KEY_POWER, | ||
275 | }; | ||
276 | |||
270 | static struct mc13xxx_platform_data moboard_pmic = { | 277 | static struct mc13xxx_platform_data moboard_pmic = { |
271 | .regulators = { | 278 | .regulators = { |
272 | .regulators = moboard_regulators, | 279 | .regulators = moboard_regulators, |
273 | .num_regulators = ARRAY_SIZE(moboard_regulators), | 280 | .num_regulators = ARRAY_SIZE(moboard_regulators), |
274 | }, | 281 | }, |
275 | .leds = &moboard_leds, | 282 | .leds = &moboard_leds, |
276 | .flags = MC13XXX_USE_REGULATOR | MC13XXX_USE_RTC | | 283 | .buttons = &moboard_buttons, |
277 | MC13XXX_USE_ADC | MC13XXX_USE_LED, | 284 | .flags = MC13XXX_USE_RTC | MC13XXX_USE_ADC, |
278 | }; | 285 | }; |
279 | 286 | ||
280 | static struct spi_board_info moboard_spi_board_info[] __initdata = { | 287 | static struct spi_board_info moboard_spi_board_info[] __initdata = { |
diff --git a/arch/arm/mach-imx/mach-pcm038.c b/arch/arm/mach-imx/mach-pcm038.c index 100bc733ce93..a17e9c7dfca0 100644 --- a/arch/arm/mach-imx/mach-pcm038.c +++ b/arch/arm/mach-imx/mach-pcm038.c | |||
@@ -268,8 +268,7 @@ static struct mc13xxx_platform_data pcm038_pmic = { | |||
268 | .regulators = pcm038_regulators, | 268 | .regulators = pcm038_regulators, |
269 | .num_regulators = ARRAY_SIZE(pcm038_regulators), | 269 | .num_regulators = ARRAY_SIZE(pcm038_regulators), |
270 | }, | 270 | }, |
271 | .flags = MC13783_USE_ADC | MC13783_USE_REGULATOR | | 271 | .flags = MC13XXX_USE_ADC | MC13XXX_USE_TOUCHSCREEN, |
272 | MC13783_USE_TOUCHSCREEN, | ||
273 | }; | 272 | }; |
274 | 273 | ||
275 | static struct spi_board_info pcm038_spi_board_info[] __initdata = { | 274 | static struct spi_board_info pcm038_spi_board_info[] __initdata = { |
diff --git a/arch/arm/mach-mx5/mx51_efika.c b/arch/arm/mach-mx5/mx51_efika.c index b004e178417d..ec6ca91b299b 100644 --- a/arch/arm/mach-mx5/mx51_efika.c +++ b/arch/arm/mach-mx5/mx51_efika.c | |||
@@ -565,7 +565,7 @@ static struct mc13xxx_regulator_init_data mx51_efika_regulators[] = { | |||
565 | }; | 565 | }; |
566 | 566 | ||
567 | static struct mc13xxx_platform_data mx51_efika_mc13892_data = { | 567 | static struct mc13xxx_platform_data mx51_efika_mc13892_data = { |
568 | .flags = MC13XXX_USE_RTC | MC13XXX_USE_REGULATOR, | 568 | .flags = MC13XXX_USE_RTC, |
569 | .regulators = { | 569 | .regulators = { |
570 | .num_regulators = ARRAY_SIZE(mx51_efika_regulators), | 570 | .num_regulators = ARRAY_SIZE(mx51_efika_regulators), |
571 | .regulators = mx51_efika_regulators, | 571 | .regulators = mx51_efika_regulators, |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 497e9dc27958..503414718905 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -14,7 +14,6 @@ config ARCH_OMAP2PLUS_TYPICAL | |||
14 | select SERIAL_OMAP_CONSOLE | 14 | select SERIAL_OMAP_CONSOLE |
15 | select I2C | 15 | select I2C |
16 | select I2C_OMAP | 16 | select I2C_OMAP |
17 | select MFD_SUPPORT | ||
18 | select MENELAUS if ARCH_OMAP2 | 17 | select MENELAUS if ARCH_OMAP2 |
19 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 | 18 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 |
20 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 | 19 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 70261bcda3f9..4a71cb7e42d4 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -378,7 +378,8 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = { | |||
378 | static int __init omap3_beagle_i2c_init(void) | 378 | static int __init omap3_beagle_i2c_init(void) |
379 | { | 379 | { |
380 | omap3_pmic_get_config(&beagle_twldata, | 380 | omap3_pmic_get_config(&beagle_twldata, |
381 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, | 381 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | |
382 | TWL_COMMON_PDATA_AUDIO, | ||
382 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | 383 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); |
383 | 384 | ||
384 | beagle_twldata.vpll2->constraints.name = "VDVI"; | 385 | beagle_twldata.vpll2->constraints.name = "VDVI"; |
@@ -444,9 +445,15 @@ static struct platform_device keys_gpio = { | |||
444 | }, | 445 | }, |
445 | }; | 446 | }; |
446 | 447 | ||
448 | static struct platform_device madc_hwmon = { | ||
449 | .name = "twl4030_madc_hwmon", | ||
450 | .id = -1, | ||
451 | }; | ||
452 | |||
447 | static struct platform_device *omap3_beagle_devices[] __initdata = { | 453 | static struct platform_device *omap3_beagle_devices[] __initdata = { |
448 | &leds_gpio, | 454 | &leds_gpio, |
449 | &keys_gpio, | 455 | &keys_gpio, |
456 | &madc_hwmon, | ||
450 | }; | 457 | }; |
451 | 458 | ||
452 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { | 459 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { |
diff --git a/arch/arm/mach-u300/i2c.c b/arch/arm/mach-u300/i2c.c index f0394baa11fa..5140deeddf7b 100644 --- a/arch/arm/mach-u300/i2c.c +++ b/arch/arm/mach-u300/i2c.c | |||
@@ -256,57 +256,8 @@ static struct ab3100_platform_data ab3100_plf_data = { | |||
256 | }; | 256 | }; |
257 | #endif | 257 | #endif |
258 | 258 | ||
259 | #ifdef CONFIG_AB3550_CORE | ||
260 | static struct abx500_init_settings ab3550_init_settings[] = { | ||
261 | { | ||
262 | .bank = 0, | ||
263 | .reg = AB3550_IMR1, | ||
264 | .setting = 0xff | ||
265 | }, | ||
266 | { | ||
267 | .bank = 0, | ||
268 | .reg = AB3550_IMR2, | ||
269 | .setting = 0xff | ||
270 | }, | ||
271 | { | ||
272 | .bank = 0, | ||
273 | .reg = AB3550_IMR3, | ||
274 | .setting = 0xff | ||
275 | }, | ||
276 | { | ||
277 | .bank = 0, | ||
278 | .reg = AB3550_IMR4, | ||
279 | .setting = 0xff | ||
280 | }, | ||
281 | { | ||
282 | .bank = 0, | ||
283 | .reg = AB3550_IMR5, | ||
284 | /* The two most significant bits are not used */ | ||
285 | .setting = 0x3f | ||
286 | }, | ||
287 | }; | ||
288 | |||
289 | static struct ab3550_platform_data ab3550_plf_data = { | ||
290 | .irq = { | ||
291 | .base = IRQ_AB3550_BASE, | ||
292 | .count = (IRQ_AB3550_END - IRQ_AB3550_BASE + 1), | ||
293 | }, | ||
294 | .dev_data = { | ||
295 | }, | ||
296 | .init_settings = ab3550_init_settings, | ||
297 | .init_settings_sz = ARRAY_SIZE(ab3550_init_settings), | ||
298 | }; | ||
299 | #endif | ||
300 | |||
301 | static struct i2c_board_info __initdata bus0_i2c_board_info[] = { | 259 | static struct i2c_board_info __initdata bus0_i2c_board_info[] = { |
302 | #if defined(CONFIG_AB3550_CORE) | 260 | #ifdef CONFIG_AB3100_CORE |
303 | { | ||
304 | .type = "ab3550", | ||
305 | .addr = 0x4A, | ||
306 | .irq = IRQ_U300_IRQ0_EXT, | ||
307 | .platform_data = &ab3550_plf_data, | ||
308 | }, | ||
309 | #elif defined(CONFIG_AB3100_CORE) | ||
310 | { | 261 | { |
311 | .type = "ab3100", | 262 | .type = "ab3100", |
312 | .addr = 0x48, | 263 | .addr = 0x48, |
diff --git a/arch/arm/mach-u300/include/mach/irqs.h b/arch/arm/mach-u300/include/mach/irqs.h index d270fea32926..db3fbfa1d6e9 100644 --- a/arch/arm/mach-u300/include/mach/irqs.h +++ b/arch/arm/mach-u300/include/mach/irqs.h | |||
@@ -117,14 +117,6 @@ | |||
117 | #define IRQ_U300_GPIO_END (U300_VIC_IRQS_END) | 117 | #define IRQ_U300_GPIO_END (U300_VIC_IRQS_END) |
118 | #endif | 118 | #endif |
119 | 119 | ||
120 | /* Optional AB3550 mixsig chip */ | 120 | #define NR_IRQS (IRQ_U300_GPIO_END) |
121 | #ifdef CONFIG_AB3550_CORE | ||
122 | #define IRQ_AB3550_BASE (IRQ_U300_GPIO_END) | ||
123 | #define IRQ_AB3550_END (IRQ_AB3550_BASE + 38) | ||
124 | #else | ||
125 | #define IRQ_AB3550_END (IRQ_U300_GPIO_END) | ||
126 | #endif | ||
127 | |||
128 | #define NR_IRQS (IRQ_AB3550_END) | ||
129 | 121 | ||
130 | #endif | 122 | #endif |
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c index e014aa749b03..82025ba70c03 100644 --- a/arch/arm/mach-ux500/board-u5500.c +++ b/arch/arm/mach-ux500/board-u5500.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/amba/bus.h> | 10 | #include <linux/amba/bus.h> |
11 | #include <linux/irq.h> | 11 | #include <linux/irq.h> |
12 | #include <linux/i2c.h> | 12 | #include <linux/i2c.h> |
13 | #include <linux/mfd/ab5500/ab5500.h> | ||
13 | 14 | ||
14 | #include <asm/mach/arch.h> | 15 | #include <asm/mach/arch.h> |
15 | #include <asm/mach-types.h> | 16 | #include <asm/mach-types.h> |
@@ -87,7 +88,6 @@ static struct lm3530_platform_data u5500_als_platform_data = { | |||
87 | .brt_val = 0x7F, /* Max brightness */ | 88 | .brt_val = 0x7F, /* Max brightness */ |
88 | }; | 89 | }; |
89 | 90 | ||
90 | |||
91 | static struct i2c_board_info __initdata u5500_i2c2_devices[] = { | 91 | static struct i2c_board_info __initdata u5500_i2c2_devices[] = { |
92 | { | 92 | { |
93 | /* Backlight */ | 93 | /* Backlight */ |
@@ -101,6 +101,30 @@ static void __init u5500_i2c_init(void) | |||
101 | db5500_add_i2c2(&u5500_i2c2_data); | 101 | db5500_add_i2c2(&u5500_i2c2_data); |
102 | i2c_register_board_info(2, ARRAY_AND_SIZE(u5500_i2c2_devices)); | 102 | i2c_register_board_info(2, ARRAY_AND_SIZE(u5500_i2c2_devices)); |
103 | } | 103 | } |
104 | |||
105 | static struct ab5500_platform_data ab5500_plf_data = { | ||
106 | .irq = { | ||
107 | .base = 0, | ||
108 | .count = 0, | ||
109 | }, | ||
110 | .init_settings = NULL, | ||
111 | .init_settings_sz = 0, | ||
112 | .pm_power_off = false, | ||
113 | }; | ||
114 | |||
115 | static struct platform_device ab5500_device = { | ||
116 | .name = "ab5500-core", | ||
117 | .id = 0, | ||
118 | .dev = { | ||
119 | .platform_data = &ab5500_plf_data, | ||
120 | }, | ||
121 | .num_resources = 0, | ||
122 | }; | ||
123 | |||
124 | static struct platform_device *u5500_platform_devices[] __initdata = { | ||
125 | &ab5500_device, | ||
126 | }; | ||
127 | |||
104 | static void __init u5500_uart_init(void) | 128 | static void __init u5500_uart_init(void) |
105 | { | 129 | { |
106 | db5500_add_uart0(NULL); | 130 | db5500_add_uart0(NULL); |
@@ -115,6 +139,9 @@ static void __init u5500_init_machine(void) | |||
115 | u5500_i2c_init(); | 139 | u5500_i2c_init(); |
116 | u5500_sdi_init(); | 140 | u5500_sdi_init(); |
117 | u5500_uart_init(); | 141 | u5500_uart_init(); |
142 | |||
143 | platform_add_devices(u5500_platform_devices, | ||
144 | ARRAY_SIZE(u5500_platform_devices)); | ||
118 | } | 145 | } |
119 | 146 | ||
120 | MACHINE_START(U5500, "ST-Ericsson U5500 Platform") | 147 | MACHINE_START(U5500, "ST-Ericsson U5500 Platform") |
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index 1405d0eb7edb..f41857494375 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c | |||
@@ -47,6 +47,6 @@ void __init ux500_init_irq(void) | |||
47 | if (cpu_is_u5500()) | 47 | if (cpu_is_u5500()) |
48 | db5500_prcmu_early_init(); | 48 | db5500_prcmu_early_init(); |
49 | if (cpu_is_u8500()) | 49 | if (cpu_is_u8500()) |
50 | prcmu_early_init(); | 50 | db8500_prcmu_early_init(); |
51 | clk_init(); | 51 | clk_init(); |
52 | } | 52 | } |