diff options
author | Tony Lindgren <tony@atomide.com> | 2012-10-29 19:17:59 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-10-31 18:37:13 -0400 |
commit | c34f7c696211e3d45ff94a34824b65aa52576bc6 (patch) | |
tree | 81327c2b471e51e47171ed11e57c99eda552a0ef /arch/arm/plat-omap | |
parent | bb77209432873214a796a70a4539e4ebdf3feb54 (diff) |
ARM: OMAP: Make plat-omap/i2c.c port checks local
The common code should not have any omap1 or omap2+
specific code, and should not need to call the cpu_is_omap
macros.
The only remaining user for cpu_is_omap macros is
omap_i2c_nr_ports(). Let's make those checks in
the omap specific implementation of omap_i2c_add_bus()
instead in order to remove cpu_is_omap usage from
the common code.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/i2c.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index be6deb7c12ec..d094273b9df5 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c | |||
@@ -33,9 +33,6 @@ | |||
33 | 33 | ||
34 | #include <mach/irqs.h> | 34 | #include <mach/irqs.h> |
35 | 35 | ||
36 | #include "../mach-omap1/soc.h" | ||
37 | #include "../mach-omap2/soc.h" | ||
38 | |||
39 | #include "i2c.h" | 36 | #include "i2c.h" |
40 | 37 | ||
41 | #define OMAP_I2C_MAX_CONTROLLERS 4 | 38 | #define OMAP_I2C_MAX_CONTROLLERS 4 |
@@ -43,22 +40,6 @@ static struct omap_i2c_bus_platform_data i2c_pdata[OMAP_I2C_MAX_CONTROLLERS]; | |||
43 | 40 | ||
44 | #define OMAP_I2C_CMDLINE_SETUP (BIT(31)) | 41 | #define OMAP_I2C_CMDLINE_SETUP (BIT(31)) |
45 | 42 | ||
46 | static int __init omap_i2c_nr_ports(void) | ||
47 | { | ||
48 | int ports = 0; | ||
49 | |||
50 | if (cpu_class_is_omap1()) | ||
51 | ports = 1; | ||
52 | else if (cpu_is_omap24xx()) | ||
53 | ports = 2; | ||
54 | else if (cpu_is_omap34xx()) | ||
55 | ports = 3; | ||
56 | else if (cpu_is_omap44xx()) | ||
57 | ports = 4; | ||
58 | |||
59 | return ports; | ||
60 | } | ||
61 | |||
62 | /** | 43 | /** |
63 | * omap_i2c_bus_setup - Process command line options for the I2C bus speed | 44 | * omap_i2c_bus_setup - Process command line options for the I2C bus speed |
64 | * @str: String of options | 45 | * @str: String of options |
@@ -72,12 +53,11 @@ static int __init omap_i2c_nr_ports(void) | |||
72 | */ | 53 | */ |
73 | static int __init omap_i2c_bus_setup(char *str) | 54 | static int __init omap_i2c_bus_setup(char *str) |
74 | { | 55 | { |
75 | int ports; | ||
76 | int ints[3]; | 56 | int ints[3]; |
77 | 57 | ||
78 | ports = omap_i2c_nr_ports(); | ||
79 | get_options(str, 3, ints); | 58 | get_options(str, 3, ints); |
80 | if (ints[0] < 2 || ints[1] < 1 || ints[1] > ports) | 59 | if (ints[0] < 2 || ints[1] < 1 || |
60 | ints[1] > OMAP_I2C_MAX_CONTROLLERS) | ||
81 | return 0; | 61 | return 0; |
82 | i2c_pdata[ints[1] - 1].clkrate = ints[2]; | 62 | i2c_pdata[ints[1] - 1].clkrate = ints[2]; |
83 | i2c_pdata[ints[1] - 1].clkrate |= OMAP_I2C_CMDLINE_SETUP; | 63 | i2c_pdata[ints[1] - 1].clkrate |= OMAP_I2C_CMDLINE_SETUP; |
@@ -122,7 +102,7 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
122 | { | 102 | { |
123 | int err; | 103 | int err; |
124 | 104 | ||
125 | BUG_ON(bus_id < 1 || bus_id > omap_i2c_nr_ports()); | 105 | BUG_ON(bus_id < 1 || bus_id > OMAP_I2C_MAX_CONTROLLERS); |
126 | 106 | ||
127 | if (info) { | 107 | if (info) { |
128 | err = i2c_register_board_info(bus_id, info, len); | 108 | err = i2c_register_board_info(bus_id, info, len); |