Commit 85051e29 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
 "Two driver bugfixes for the I2C subsystem"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: pnx: fix runtime warnings caused by enabling unprepared clock
  i2c: mv64xxx: really allow I2C offloading
parents 32b88194 5dd32eae
...@@ -669,8 +669,6 @@ mv64xxx_i2c_can_offload(struct mv64xxx_i2c_data *drv_data) ...@@ -669,8 +669,6 @@ mv64xxx_i2c_can_offload(struct mv64xxx_i2c_data *drv_data)
struct i2c_msg *msgs = drv_data->msgs; struct i2c_msg *msgs = drv_data->msgs;
int num = drv_data->num_msgs; int num = drv_data->num_msgs;
return false;
if (!drv_data->offload_enabled) if (!drv_data->offload_enabled)
return false; return false;
......
...@@ -600,7 +600,7 @@ static int i2c_pnx_controller_suspend(struct device *dev) ...@@ -600,7 +600,7 @@ static int i2c_pnx_controller_suspend(struct device *dev)
{ {
struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(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; return 0;
} }
...@@ -609,7 +609,7 @@ static int i2c_pnx_controller_resume(struct device *dev) ...@@ -609,7 +609,7 @@ static int i2c_pnx_controller_resume(struct device *dev)
{ {
struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(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, static SIMPLE_DEV_PM_OPS(i2c_pnx_pm,
...@@ -672,7 +672,7 @@ static int i2c_pnx_probe(struct platform_device *pdev) ...@@ -672,7 +672,7 @@ static int i2c_pnx_probe(struct platform_device *pdev)
if (IS_ERR(alg_data->ioaddr)) if (IS_ERR(alg_data->ioaddr))
return PTR_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) if (ret)
return ret; return ret;
...@@ -726,7 +726,7 @@ static int i2c_pnx_probe(struct platform_device *pdev) ...@@ -726,7 +726,7 @@ static int i2c_pnx_probe(struct platform_device *pdev)
return 0; return 0;
out_clock: out_clock:
clk_disable(alg_data->clk); clk_disable_unprepare(alg_data->clk);
return ret; return ret;
} }
...@@ -735,7 +735,7 @@ static int i2c_pnx_remove(struct platform_device *pdev) ...@@ -735,7 +735,7 @@ static int i2c_pnx_remove(struct platform_device *pdev)
struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev); struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev);
i2c_del_adapter(&alg_data->adapter); i2c_del_adapter(&alg_data->adapter);
clk_disable(alg_data->clk); clk_disable_unprepare(alg_data->clk);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment