mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-15 09:03:59 +08:00
i2c: tegra: Add clk_prepare/clk_unprepare
Use clk_prepare/clk_unprepare as required by the generic clk framework. Cc: w.sang@pengutronix.de Cc: linux-i2c@vger.kernel.org Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
parent
6a5278d071
commit
6f786aad10
@ -341,7 +341,7 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
|
|||||||
u32 val;
|
u32 val;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
clk_enable(i2c_dev->clk);
|
clk_prepare_enable(i2c_dev->clk);
|
||||||
|
|
||||||
tegra_periph_reset_assert(i2c_dev->clk);
|
tegra_periph_reset_assert(i2c_dev->clk);
|
||||||
udelay(2);
|
udelay(2);
|
||||||
@ -372,7 +372,7 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
|
|||||||
if (tegra_i2c_flush_fifos(i2c_dev))
|
if (tegra_i2c_flush_fifos(i2c_dev))
|
||||||
err = -ETIMEDOUT;
|
err = -ETIMEDOUT;
|
||||||
|
|
||||||
clk_disable(i2c_dev->clk);
|
clk_disable_unprepare(i2c_dev->clk);
|
||||||
|
|
||||||
if (i2c_dev->irq_disabled) {
|
if (i2c_dev->irq_disabled) {
|
||||||
i2c_dev->irq_disabled = 0;
|
i2c_dev->irq_disabled = 0;
|
||||||
@ -546,14 +546,14 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
|
|||||||
if (i2c_dev->is_suspended)
|
if (i2c_dev->is_suspended)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
||||||
clk_enable(i2c_dev->clk);
|
clk_prepare_enable(i2c_dev->clk);
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
int stop = (i == (num - 1)) ? 1 : 0;
|
int stop = (i == (num - 1)) ? 1 : 0;
|
||||||
ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], stop);
|
ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], stop);
|
||||||
if (ret)
|
if (ret)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
clk_disable(i2c_dev->clk);
|
clk_disable_unprepare(i2c_dev->clk);
|
||||||
return ret ?: i;
|
return ret ?: i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,7 +666,7 @@ static int __devinit tegra_i2c_probe(struct platform_device *pdev)
|
|||||||
goto err_free;
|
goto err_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
clk_enable(i2c_dev->i2c_clk);
|
clk_prepare_enable(i2c_dev->i2c_clk);
|
||||||
|
|
||||||
i2c_set_adapdata(&i2c_dev->adapter, i2c_dev);
|
i2c_set_adapdata(&i2c_dev->adapter, i2c_dev);
|
||||||
i2c_dev->adapter.owner = THIS_MODULE;
|
i2c_dev->adapter.owner = THIS_MODULE;
|
||||||
|
Loading…
Reference in New Issue
Block a user