diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2014-05-02 21:15:09 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-05-22 10:09:23 +0200 |
commit | 88c289ec28dfb0f383dcdbadd2c759f910585815 (patch) | |
tree | d910169ef4d69793660c9d56477f9c1b1ccad7ad /drivers/i2c | |
parent | i2c: sh_mobile: improve error handling (diff) | |
download | linux-88c289ec28dfb0f383dcdbadd2c759f910585815.tar.xz linux-88c289ec28dfb0f383dcdbadd2c759f910585815.zip |
i2c: sh_mobile: honor DT bus speed settings
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-sh_mobile.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c index d2fa222df3d1..2e481abd50ce 100644 --- a/drivers/i2c/busses/i2c-sh_mobile.c +++ b/drivers/i2c/busses/i2c-sh_mobile.c @@ -657,6 +657,7 @@ static int sh_mobile_i2c_probe(struct platform_device *dev) struct resource *res; int size; int ret; + u32 bus_speed; pd = kzalloc(sizeof(struct sh_mobile_i2c_data), GFP_KERNEL); if (pd == NULL) { @@ -697,7 +698,9 @@ static int sh_mobile_i2c_probe(struct platform_device *dev) } /* Use platform data bus speed or STANDARD_MODE */ - pd->bus_speed = STANDARD_MODE; + ret = of_property_read_u32(dev->dev.of_node, "clock-frequency", &bus_speed); + pd->bus_speed = ret ? STANDARD_MODE : bus_speed; + if (pdata && pdata->bus_speed) pd->bus_speed = pdata->bus_speed; pd->clks_per_count = 1; |