diff options
-rw-r--r-- | drivers/i2c/busses/i2c-sh_mobile.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c index b01607b4fce2..1ac896e46b39 100644 --- a/drivers/i2c/busses/i2c-sh_mobile.c +++ b/drivers/i2c/busses/i2c-sh_mobile.c @@ -873,6 +873,10 @@ static int sh_mobile_i2c_probe(struct platform_device *dev) pd->bus_speed = ret ? STANDARD_MODE : bus_speed; pd->clks_per_count = 1; + /* Newer variants come with two new bits in ICIC */ + if (resource_size(res) > 0x17) + pd->flags |= IIC_FLAG_HAS_ICIC67; + config = of_device_get_match_data(&dev->dev); if (config) { pd->clks_per_count = config->clks_per_count; @@ -881,12 +885,6 @@ static int sh_mobile_i2c_probe(struct platform_device *dev) config->setup(pd); } - /* The IIC blocks on SH-Mobile ARM processors - * come with two new bits in ICIC. - */ - if (resource_size(res) > 0x17) - pd->flags |= IIC_FLAG_HAS_ICIC67; - ret = sh_mobile_i2c_init(pd); if (ret) return ret; |