i2c: mxs: correctly setup speed for non devicetree
Commit cd4f2d4
(i2c: mxs: Set I2C timing registers for mxs-i2c) only
covered the case for devicetree and made platform_data based boards
bail out with -EINVAL. Correctly support the latter one, too.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
parent
c076ada4e4
commit
72ee734a67
1 changed files with 6 additions and 7 deletions
|
@ -365,10 +365,6 @@ static int mxs_i2c_get_ofdata(struct mxs_i2c_dev *i2c)
|
|||
struct device_node *node = dev->of_node;
|
||||
int ret;
|
||||
|
||||
if (!node)
|
||||
return -EINVAL;
|
||||
|
||||
i2c->speed = &mxs_i2c_95kHz_config;
|
||||
ret = of_property_read_u32(node, "clock-frequency", &speed);
|
||||
if (ret)
|
||||
dev_warn(dev, "No I2C speed selected, using 100kHz\n");
|
||||
|
@ -419,10 +415,13 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev)
|
|||
return err;
|
||||
|
||||
i2c->dev = dev;
|
||||
i2c->speed = &mxs_i2c_95kHz_config;
|
||||
|
||||
err = mxs_i2c_get_ofdata(i2c);
|
||||
if (err)
|
||||
return err;
|
||||
if (dev->of_node) {
|
||||
err = mxs_i2c_get_ofdata(i2c);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, i2c);
|
||||
|
||||
|
|
Loading…
Reference in a new issue