mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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
@ -365,10 +365,6 @@ static int mxs_i2c_get_ofdata(struct mxs_i2c_dev *i2c)
|
|||||||
struct device_node *node = dev->of_node;
|
struct device_node *node = dev->of_node;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!node)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
i2c->speed = &mxs_i2c_95kHz_config;
|
|
||||||
ret = of_property_read_u32(node, "clock-frequency", &speed);
|
ret = of_property_read_u32(node, "clock-frequency", &speed);
|
||||||
if (ret)
|
if (ret)
|
||||||
dev_warn(dev, "No I2C speed selected, using 100kHz\n");
|
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;
|
return err;
|
||||||
|
|
||||||
i2c->dev = dev;
|
i2c->dev = dev;
|
||||||
|
i2c->speed = &mxs_i2c_95kHz_config;
|
||||||
|
|
||||||
|
if (dev->of_node) {
|
||||||
err = mxs_i2c_get_ofdata(i2c);
|
err = mxs_i2c_get_ofdata(i2c);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
platform_set_drvdata(pdev, i2c);
|
platform_set_drvdata(pdev, i2c);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user