diff options
author | Philipp Zabel <philipp.zabel@gmail.com> | 2008-06-02 13:49:27 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-06-02 14:33:25 -0400 |
commit | bc3a595988468b8a9c2526b9fb8d7bcaa27cc1a7 (patch) | |
tree | d1fa30150aae6f5559311ebc8859babcd9479d08 /arch | |
parent | ffdf786291636137ef2d51c3a5d340793032aa28 (diff) |
[ARM] 5075/1: i2c-pxa: move i2c pin setup and PCFR_PI2CEN handling into arch/arm/mach-pxa
This fixes a build error introduced when the power manager
register definitions were moved into pxa2xx-regs.h.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index d6c05b6eab35..af6cc3dbb9a3 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -10,11 +10,13 @@ | |||
10 | #include <asm/arch/mmc.h> | 10 | #include <asm/arch/mmc.h> |
11 | #include <asm/arch/irda.h> | 11 | #include <asm/arch/irda.h> |
12 | #include <asm/arch/i2c.h> | 12 | #include <asm/arch/i2c.h> |
13 | #include <asm/arch/mfp-pxa27x.h> | ||
13 | #include <asm/arch/ohci.h> | 14 | #include <asm/arch/ohci.h> |
14 | #include <asm/arch/pxa27x_keypad.h> | 15 | #include <asm/arch/pxa27x_keypad.h> |
15 | #include <asm/arch/camera.h> | 16 | #include <asm/arch/camera.h> |
16 | 17 | ||
17 | #include "devices.h" | 18 | #include "devices.h" |
19 | #include "generic.h" | ||
18 | 20 | ||
19 | void __init pxa_register_device(struct platform_device *dev, void *data) | 21 | void __init pxa_register_device(struct platform_device *dev, void *data) |
20 | { | 22 | { |
@@ -233,8 +235,15 @@ struct platform_device pxa_device_i2c = { | |||
233 | .num_resources = ARRAY_SIZE(pxai2c_resources), | 235 | .num_resources = ARRAY_SIZE(pxai2c_resources), |
234 | }; | 236 | }; |
235 | 237 | ||
238 | static unsigned long pxa27x_i2c_mfp_cfg[] = { | ||
239 | GPIO117_I2C_SCL, | ||
240 | GPIO118_I2C_SDA, | ||
241 | }; | ||
242 | |||
236 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) | 243 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) |
237 | { | 244 | { |
245 | if (cpu_is_pxa27x()) | ||
246 | pxa2xx_mfp_config(ARRAY_AND_SIZE(pxa27x_i2c_mfp_cfg)); | ||
238 | pxa_register_device(&pxa_device_i2c, info); | 247 | pxa_register_device(&pxa_device_i2c, info); |
239 | } | 248 | } |
240 | 249 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index cdaf573e0f17..48cbdc771a80 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -349,6 +349,9 @@ struct platform_device pxa27x_device_i2c_power = { | |||
349 | 349 | ||
350 | void __init pxa_set_i2c_power_info(struct i2c_pxa_platform_data *info) | 350 | void __init pxa_set_i2c_power_info(struct i2c_pxa_platform_data *info) |
351 | { | 351 | { |
352 | local_irq_disable(); | ||
353 | PCFR |= PCFR_PI2CEN; | ||
354 | local_irq_enable(); | ||
352 | pxa27x_device_i2c_power.dev.platform_data = info; | 355 | pxa27x_device_i2c_power.dev.platform_data = info; |
353 | } | 356 | } |
354 | 357 | ||