提交 1a86f944 编写于 作者: L 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:
 "Four driver bugfixes for the I2C subsystem"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: mux: reg: wrong condition checked for of_address_to_resource return value
  i2c: tegra: Correct error path in probe
  i2c: remove __init from i2c_register_board_info()
  i2c: qup: Fix wrong value of index variable
...@@ -1268,6 +1268,8 @@ static int qup_i2c_xfer_v2(struct i2c_adapter *adap, ...@@ -1268,6 +1268,8 @@ static int qup_i2c_xfer_v2(struct i2c_adapter *adap,
} }
} }
idx = 0;
do { do {
if (msgs[idx].len == 0) { if (msgs[idx].len == 0) {
ret = -EINVAL; ret = -EINVAL;
......
...@@ -912,7 +912,7 @@ static int tegra_i2c_probe(struct platform_device *pdev) ...@@ -912,7 +912,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
ret = tegra_i2c_init(i2c_dev); ret = tegra_i2c_init(i2c_dev);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Failed to initialize i2c controller"); dev_err(&pdev->dev, "Failed to initialize i2c controller");
goto unprepare_div_clk; goto disable_div_clk;
} }
ret = devm_request_irq(&pdev->dev, i2c_dev->irq, ret = devm_request_irq(&pdev->dev, i2c_dev->irq,
......
...@@ -56,9 +56,7 @@ EXPORT_SYMBOL_GPL(__i2c_first_dynamic_bus_num); ...@@ -56,9 +56,7 @@ EXPORT_SYMBOL_GPL(__i2c_first_dynamic_bus_num);
* The board info passed can safely be __initdata, but be careful of embedded * The board info passed can safely be __initdata, but be careful of embedded
* pointers (for platform_data, functions, etc) since that won't be copied. * pointers (for platform_data, functions, etc) since that won't be copied.
*/ */
int __init int i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned len)
i2c_register_board_info(int busnum,
struct i2c_board_info const *info, unsigned len)
{ {
int status; int status;
......
...@@ -145,7 +145,7 @@ static int i2c_mux_reg_probe_dt(struct regmux *mux, ...@@ -145,7 +145,7 @@ static int i2c_mux_reg_probe_dt(struct regmux *mux,
mux->data.idle_in_use = true; mux->data.idle_in_use = true;
/* map address from "reg" if exists */ /* map address from "reg" if exists */
if (of_address_to_resource(np, 0, &res)) { if (of_address_to_resource(np, 0, &res) == 0) {
mux->data.reg_size = resource_size(&res); mux->data.reg_size = resource_size(&res);
mux->data.reg = devm_ioremap_resource(&pdev->dev, &res); mux->data.reg = devm_ioremap_resource(&pdev->dev, &res);
if (IS_ERR(mux->data.reg)) if (IS_ERR(mux->data.reg))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册