diff options
| -rw-r--r-- | arch/arm/mach-omap1/i2c.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/i2c.c | 6 | ||||
| -rw-r--r-- | arch/arm/plat-omap/i2c.c | 10 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/i2c.h | 5 |
4 files changed, 12 insertions, 15 deletions
diff --git a/arch/arm/mach-omap1/i2c.c b/arch/arm/mach-omap1/i2c.c index 1bf4735e27a6..5446c9912641 100644 --- a/arch/arm/mach-omap1/i2c.c +++ b/arch/arm/mach-omap1/i2c.c | |||
| @@ -23,9 +23,7 @@ | |||
| 23 | #include <plat/mux.h> | 23 | #include <plat/mux.h> |
| 24 | #include <plat/cpu.h> | 24 | #include <plat/cpu.h> |
| 25 | 25 | ||
| 26 | int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | 26 | void __init omap1_i2c_mux_pins(int bus_id) |
| 27 | struct i2c_board_info const *info, | ||
| 28 | unsigned len) | ||
| 29 | { | 27 | { |
| 30 | if (cpu_is_omap7xx()) { | 28 | if (cpu_is_omap7xx()) { |
| 31 | omap_cfg_reg(I2C_7XX_SDA); | 29 | omap_cfg_reg(I2C_7XX_SDA); |
| @@ -34,6 +32,4 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
| 34 | omap_cfg_reg(I2C_SDA); | 32 | omap_cfg_reg(I2C_SDA); |
| 35 | omap_cfg_reg(I2C_SCL); | 33 | omap_cfg_reg(I2C_SCL); |
| 36 | } | 34 | } |
| 37 | |||
| 38 | return omap_plat_register_i2c_bus(bus_id, clkrate, info, len); | ||
| 39 | } | 35 | } |
diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c index 789ca8c02f0c..7951ae1447ee 100644 --- a/arch/arm/mach-omap2/i2c.c +++ b/arch/arm/mach-omap2/i2c.c | |||
| @@ -25,9 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | #include "mux.h" | 26 | #include "mux.h" |
| 27 | 27 | ||
| 28 | int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | 28 | void __init omap2_i2c_mux_pins(int bus_id) |
| 29 | struct i2c_board_info const *info, | ||
| 30 | unsigned len) | ||
| 31 | { | 29 | { |
| 32 | if (cpu_is_omap24xx()) { | 30 | if (cpu_is_omap24xx()) { |
| 33 | const int omap24xx_pins[][2] = { | 31 | const int omap24xx_pins[][2] = { |
| @@ -51,6 +49,4 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
| 51 | sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id); | 49 | sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id); |
| 52 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); | 50 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); |
| 53 | } | 51 | } |
| 54 | |||
| 55 | return omap_plat_register_i2c_bus(bus_id, clkrate, info, len); | ||
| 56 | } | 52 | } |
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index 96d2781ac4f5..624e26298faa 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/i2c.h> | 28 | #include <linux/i2c.h> |
| 29 | #include <mach/irqs.h> | 29 | #include <mach/irqs.h> |
| 30 | #include <plat/mux.h> | 30 | #include <plat/mux.h> |
| 31 | #include <plat/i2c.h> | ||
| 31 | 32 | ||
| 32 | #define OMAP_I2C_SIZE 0x3f | 33 | #define OMAP_I2C_SIZE 0x3f |
| 33 | #define OMAP1_I2C_BASE 0xfffb3800 | 34 | #define OMAP1_I2C_BASE 0xfffb3800 |
| @@ -117,6 +118,11 @@ static int __init omap_i2c_add_bus(int bus_id) | |||
| 117 | res[1].start = irq; | 118 | res[1].start = irq; |
| 118 | } | 119 | } |
| 119 | 120 | ||
| 121 | if (cpu_class_is_omap1()) | ||
| 122 | omap1_i2c_mux_pins(bus_id); | ||
| 123 | if (cpu_class_is_omap2()) | ||
| 124 | omap2_i2c_mux_pins(bus_id); | ||
| 125 | |||
| 120 | return platform_device_register(pdev); | 126 | return platform_device_register(pdev); |
| 121 | } | 127 | } |
| 122 | 128 | ||
| @@ -169,7 +175,7 @@ out: | |||
| 169 | subsys_initcall(omap_register_i2c_bus_cmdline); | 175 | subsys_initcall(omap_register_i2c_bus_cmdline); |
| 170 | 176 | ||
| 171 | /** | 177 | /** |
| 172 | * omap_plat_register_i2c_bus - register I2C bus with device descriptors | 178 | * omap_register_i2c_bus - register I2C bus with device descriptors |
| 173 | * @bus_id: bus id counting from number 1 | 179 | * @bus_id: bus id counting from number 1 |
| 174 | * @clkrate: clock rate of the bus in kHz | 180 | * @clkrate: clock rate of the bus in kHz |
| 175 | * @info: pointer into I2C device descriptor table or NULL | 181 | * @info: pointer into I2C device descriptor table or NULL |
| @@ -177,7 +183,7 @@ subsys_initcall(omap_register_i2c_bus_cmdline); | |||
| 177 | * | 183 | * |
| 178 | * Returns 0 on success or an error code. | 184 | * Returns 0 on success or an error code. |
| 179 | */ | 185 | */ |
| 180 | int __init omap_plat_register_i2c_bus(int bus_id, u32 clkrate, | 186 | int __init omap_register_i2c_bus(int bus_id, u32 clkrate, |
| 181 | struct i2c_board_info const *info, | 187 | struct i2c_board_info const *info, |
| 182 | unsigned len) | 188 | unsigned len) |
| 183 | { | 189 | { |
diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h index 585d9ca68b97..87f6bf2ea4fa 100644 --- a/arch/arm/plat-omap/include/plat/i2c.h +++ b/arch/arm/plat-omap/include/plat/i2c.h | |||
| @@ -34,6 +34,5 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
| 34 | } | 34 | } |
| 35 | #endif | 35 | #endif |
| 36 | 36 | ||
| 37 | int omap_plat_register_i2c_bus(int bus_id, u32 clkrate, | 37 | void __init omap1_i2c_mux_pins(int bus_id); |
| 38 | struct i2c_board_info const *info, | 38 | void __init omap2_i2c_mux_pins(int bus_id); |
| 39 | unsigned len); | ||
