diff options
author | Guennadi Liakhovetski <gl@dsa-ac.de> | 2007-02-08 03:43:26 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-08 09:46:36 -0500 |
commit | a7b4e5506d1608112a208bc5391377d2c0b6dd80 (patch) | |
tree | 44c46c859b764cdf5cf2fb7867260c276e17cd15 /arch/arm/mach-pxa/generic.c | |
parent | ae0a846e411dc0b568e8ccda584896310ee5f369 (diff) |
[ARM] 4144/1: Fix for patch #4099/1 with CONFIG_I2C_PXA_SLAVE set
Switch the i2c-pxa driver to actually using the platform device information and let it handle the power i2c bus on pxa27x too. Original version of this patch didn't compile with CONFIG_I2C_PXA_SLAVE set.
Signed-off-by: G. Liakhovetski <gl@dsa-ac.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/generic.c')
-rw-r--r-- | arch/arm/mach-pxa/generic.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 9de1278d234f..390524c4710f 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -338,6 +338,27 @@ static struct platform_device i2c_device = { | |||
338 | .num_resources = ARRAY_SIZE(i2c_resources), | 338 | .num_resources = ARRAY_SIZE(i2c_resources), |
339 | }; | 339 | }; |
340 | 340 | ||
341 | #ifdef CONFIG_PXA27x | ||
342 | static struct resource i2c_power_resources[] = { | ||
343 | { | ||
344 | .start = 0x40f00180, | ||
345 | .end = 0x40f001a3, | ||
346 | .flags = IORESOURCE_MEM, | ||
347 | }, { | ||
348 | .start = IRQ_PWRI2C, | ||
349 | .end = IRQ_PWRI2C, | ||
350 | .flags = IORESOURCE_IRQ, | ||
351 | }, | ||
352 | }; | ||
353 | |||
354 | static struct platform_device i2c_power_device = { | ||
355 | .name = "pxa2xx-i2c", | ||
356 | .id = 1, | ||
357 | .resource = i2c_power_resources, | ||
358 | .num_resources = ARRAY_SIZE(i2c_resources), | ||
359 | }; | ||
360 | #endif | ||
361 | |||
341 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) | 362 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) |
342 | { | 363 | { |
343 | i2c_device.dev.platform_data = info; | 364 | i2c_device.dev.platform_data = info; |
@@ -392,6 +413,9 @@ static struct platform_device *devices[] __initdata = { | |||
392 | &stuart_device, | 413 | &stuart_device, |
393 | &pxaficp_device, | 414 | &pxaficp_device, |
394 | &i2c_device, | 415 | &i2c_device, |
416 | #ifdef CONFIG_PXA27x | ||
417 | &i2c_power_device, | ||
418 | #endif | ||
395 | &i2s_device, | 419 | &i2s_device, |
396 | &pxartc_device, | 420 | &pxartc_device, |
397 | }; | 421 | }; |