Skip to content

Commit

Permalink
I2C: OMAP2+: use platform_data ip revision to select register map
Browse files Browse the repository at this point in the history
Change the register map names to reflect the IP revision they
are representing, and use the platform_data IP revision index
to select between them at init time.

Eliminates 1 of 17 cpu_...() calls in the driver.

Cc: [email protected]
Reported-by: Peter Maydell <[email protected]>
Signed-off-by: Andy Green <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
Acked-by: Ben Dooks <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
  • Loading branch information
lws-team authored and Ben Dooks committed Oct 29, 2011
1 parent d177e5d commit a129557
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/i2c/busses/i2c-omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ struct omap_i2c_dev {
u16 errata;
};

static const u8 reg_map[] = {
static const u8 reg_map_ip_v1[] = {
[OMAP_I2C_REV_REG] = 0x00,
[OMAP_I2C_IE_REG] = 0x01,
[OMAP_I2C_STAT_REG] = 0x02,
Expand All @@ -226,7 +226,7 @@ static const u8 reg_map[] = {
[OMAP_I2C_BUFSTAT_REG] = 0x10,
};

static const u8 omap4_reg_map[] = {
static const u8 reg_map_ip_v2[] = {
[OMAP_I2C_REV_REG] = 0x04,
[OMAP_I2C_IE_REG] = 0x2c,
[OMAP_I2C_STAT_REG] = 0x28,
Expand Down Expand Up @@ -1035,10 +1035,10 @@ omap_i2c_probe(struct platform_device *pdev)
else
dev->reg_shift = 2;

if (cpu_is_omap44xx())
dev->regs = (u8 *) omap4_reg_map;
if (pdata->rev == OMAP_I2C_IP_VERSION_2)
dev->regs = (u8 *)reg_map_ip_v2;
else
dev->regs = (u8 *) reg_map;
dev->regs = (u8 *)reg_map_ip_v1;

pm_runtime_enable(&pdev->dev);
omap_i2c_unidle(dev);
Expand Down

0 comments on commit a129557

Please sign in to comment.