Skip to content

Commit

Permalink
i2c: pnx: fix runtime warnings caused by enabling unprepared clock
Browse files Browse the repository at this point in the history
The driver can not be used on a platform with common clock framework
until clk_prepare/clk_unprepare calls are added, otherwise clk_enable
calls will fail and a WARN is generated.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  • Loading branch information
Vladimir Zapolskiy authored and Wolfram Sang committed Oct 23, 2015
1 parent 0729a04 commit 5dd32ea
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/i2c/busses/i2c-pnx.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ static int i2c_pnx_controller_suspend(struct device *dev)
{
struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(dev);

clk_disable(alg_data->clk);
clk_disable_unprepare(alg_data->clk);

return 0;
}
Expand All @@ -609,7 +609,7 @@ static int i2c_pnx_controller_resume(struct device *dev)
{
struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(dev);

return clk_enable(alg_data->clk);
return clk_prepare_enable(alg_data->clk);
}

static SIMPLE_DEV_PM_OPS(i2c_pnx_pm,
Expand Down Expand Up @@ -672,7 +672,7 @@ static int i2c_pnx_probe(struct platform_device *pdev)
if (IS_ERR(alg_data->ioaddr))
return PTR_ERR(alg_data->ioaddr);

ret = clk_enable(alg_data->clk);
ret = clk_prepare_enable(alg_data->clk);
if (ret)
return ret;

Expand Down Expand Up @@ -726,7 +726,7 @@ static int i2c_pnx_probe(struct platform_device *pdev)
return 0;

out_clock:
clk_disable(alg_data->clk);
clk_disable_unprepare(alg_data->clk);
return ret;
}

Expand All @@ -735,7 +735,7 @@ static int i2c_pnx_remove(struct platform_device *pdev)
struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev);

i2c_del_adapter(&alg_data->adapter);
clk_disable(alg_data->clk);
clk_disable_unprepare(alg_data->clk);

return 0;
}
Expand Down

0 comments on commit 5dd32ea

Please sign in to comment.