diff options
author | Jingchang Lu <b35083@freescale.com> | 2013-08-07 05:05:37 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2013-08-15 10:11:41 -0400 |
commit | 46f2832b9f66b008fb813fe153f27794412fbc4f (patch) | |
tree | 02d4ff2b6d55bc720ac041223ae5171736d91ac0 | |
parent | d533f0492b6371025a4f88506c7f1828a7a48e81 (diff) |
i2c: imx: enable clk before write to registers
The module clk should be enabled before write to
its register in probe(), and the clk can be disabled
after.
Signed-off-by: Jingchang Lu <b35083@freescale.com>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-rw-r--r-- | drivers/i2c/busses/i2c-imx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c index 9167d4332d77..7adb35115d95 100644 --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c | |||
@@ -543,6 +543,11 @@ static int __init i2c_imx_probe(struct platform_device *pdev) | |||
543 | return PTR_ERR(i2c_imx->clk); | 543 | return PTR_ERR(i2c_imx->clk); |
544 | } | 544 | } |
545 | 545 | ||
546 | ret = clk_prepare_enable(i2c_imx->clk); | ||
547 | if (ret) { | ||
548 | dev_err(&pdev->dev, "can't enable I2C clock\n"); | ||
549 | return ret; | ||
550 | } | ||
546 | /* Request IRQ */ | 551 | /* Request IRQ */ |
547 | ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, 0, | 552 | ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, 0, |
548 | pdev->name, i2c_imx); | 553 | pdev->name, i2c_imx); |
@@ -580,6 +585,7 @@ static int __init i2c_imx_probe(struct platform_device *pdev) | |||
580 | 585 | ||
581 | /* Set up platform driver data */ | 586 | /* Set up platform driver data */ |
582 | platform_set_drvdata(pdev, i2c_imx); | 587 | platform_set_drvdata(pdev, i2c_imx); |
588 | clk_disable_unprepare(i2c_imx->clk); | ||
583 | 589 | ||
584 | dev_dbg(&i2c_imx->adapter.dev, "claimed irq %d\n", irq); | 590 | dev_dbg(&i2c_imx->adapter.dev, "claimed irq %d\n", irq); |
585 | dev_dbg(&i2c_imx->adapter.dev, "device resources from 0x%x to 0x%x\n", | 591 | dev_dbg(&i2c_imx->adapter.dev, "device resources from 0x%x to 0x%x\n", |