diff options
| author | Wolfram Sang <w.sang@pengutronix.de> | 2012-09-08 11:28:06 -0400 |
|---|---|---|
| committer | Wolfram Sang <w.sang@pengutronix.de> | 2012-09-12 11:55:22 -0400 |
| commit | 72ee734a6716aac5aaf336da70a811e308d2a84e (patch) | |
| tree | bdf487c3eb7b9d539f605bbe063b6987624d9bfb | |
| parent | c076ada4e4aaf45e1a31ad6de7c6cce36081e045 (diff) | |
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>
| -rw-r--r-- | drivers/i2c/busses/i2c-mxs.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c index 088c5c1ed17d..51f05b8520ed 100644 --- a/drivers/i2c/busses/i2c-mxs.c +++ b/drivers/i2c/busses/i2c-mxs.c | |||
| @@ -365,10 +365,6 @@ static int mxs_i2c_get_ofdata(struct mxs_i2c_dev *i2c) | |||
| 365 | struct device_node *node = dev->of_node; | 365 | struct device_node *node = dev->of_node; |
| 366 | int ret; | 366 | int ret; |
| 367 | 367 | ||
| 368 | if (!node) | ||
| 369 | return -EINVAL; | ||
| 370 | |||
| 371 | i2c->speed = &mxs_i2c_95kHz_config; | ||
| 372 | ret = of_property_read_u32(node, "clock-frequency", &speed); | 368 | ret = of_property_read_u32(node, "clock-frequency", &speed); |
| 373 | if (ret) | 369 | if (ret) |
| 374 | dev_warn(dev, "No I2C speed selected, using 100kHz\n"); | 370 | dev_warn(dev, "No I2C speed selected, using 100kHz\n"); |
| @@ -419,10 +415,13 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev) | |||
| 419 | return err; | 415 | return err; |
| 420 | 416 | ||
| 421 | i2c->dev = dev; | 417 | i2c->dev = dev; |
| 418 | i2c->speed = &mxs_i2c_95kHz_config; | ||
| 422 | 419 | ||
| 423 | err = mxs_i2c_get_ofdata(i2c); | 420 | if (dev->of_node) { |
| 424 | if (err) | 421 | err = mxs_i2c_get_ofdata(i2c); |
| 425 | return err; | 422 | if (err) |
| 423 | return err; | ||
| 424 | } | ||
| 426 | 425 | ||
| 427 | platform_set_drvdata(pdev, i2c); | 426 | platform_set_drvdata(pdev, i2c); |
| 428 | 427 | ||
