Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux

Pill i2c fixes from Wolfram Sang:
"Here are a few, typical driver fixes for the I2C subsystem"

* 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
i2c-designware: add missing MODULE_LICENSE
i2c: omap: fix draining irq handling
i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt
i2c: muxes: fix wrong use of sizeof(ptr)
i2c: sirf: register i2c_client from dt child-nodes in probe entry
i2c: mxs: Fix type of error code
i2c: mxs: Fix misuse init_completion

+16 -6
+4
drivers/i2c/busses/i2c-designware-core.c
··· 34 34 #include <linux/io.h> 35 35 #include <linux/pm_runtime.h> 36 36 #include <linux/delay.h> 37 + #include <linux/module.h> 37 38 #include "i2c-designware-core.h" 38 39 39 40 /* ··· 726 725 return dw_readl(dev, DW_IC_COMP_PARAM_1); 727 726 } 728 727 EXPORT_SYMBOL_GPL(i2c_dw_read_comp_param); 728 + 729 + MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter core"); 730 + MODULE_LICENSE("GPL");
+4 -2
drivers/i2c/busses/i2c-mxs.c
··· 127 127 struct device *dev; 128 128 void __iomem *regs; 129 129 struct completion cmd_complete; 130 - u32 cmd_err; 130 + int cmd_err; 131 131 struct i2c_adapter adapter; 132 132 const struct mxs_i2c_speed_config *speed; 133 133 ··· 316 316 if (msg->len == 0) 317 317 return -EINVAL; 318 318 319 - init_completion(&i2c->cmd_complete); 319 + INIT_COMPLETION(i2c->cmd_complete); 320 320 i2c->cmd_err = 0; 321 321 322 322 ret = mxs_i2c_dma_setup_xfer(adap, msg, flags); ··· 472 472 473 473 i2c->dev = dev; 474 474 i2c->speed = &mxs_i2c_95kHz_config; 475 + 476 + init_completion(&i2c->cmd_complete); 475 477 476 478 if (dev->of_node) { 477 479 err = mxs_i2c_get_ofdata(i2c);
+3 -3
drivers/i2c/busses/i2c-omap.c
··· 803 803 if (stat & OMAP_I2C_STAT_AL) { 804 804 dev_err(dev->dev, "Arbitration lost\n"); 805 805 dev->cmd_err |= OMAP_I2C_STAT_AL; 806 - omap_i2c_ack_stat(dev, OMAP_I2C_STAT_NACK); 806 + omap_i2c_ack_stat(dev, OMAP_I2C_STAT_AL); 807 807 } 808 808 809 809 return -EIO; ··· 963 963 i2c_omap_errata_i207(dev, stat); 964 964 965 965 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_RDR); 966 - break; 966 + continue; 967 967 } 968 968 969 969 if (stat & OMAP_I2C_STAT_RRDY) { ··· 989 989 break; 990 990 991 991 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_XDR); 992 - break; 992 + continue; 993 993 } 994 994 995 995 if (stat & OMAP_I2C_STAT_XRDY) {
+4
drivers/i2c/busses/i2c-sirf.c
··· 12 12 #include <linux/slab.h> 13 13 #include <linux/platform_device.h> 14 14 #include <linux/i2c.h> 15 + #include <linux/of_i2c.h> 15 16 #include <linux/clk.h> 16 17 #include <linux/err.h> 17 18 #include <linux/io.h> ··· 329 328 adap->algo = &i2c_sirfsoc_algo; 330 329 adap->algo_data = siic; 331 330 331 + adap->dev.of_node = pdev->dev.of_node; 332 332 adap->dev.parent = &pdev->dev; 333 333 adap->nr = pdev->id; 334 334 ··· 372 370 } 373 371 374 372 clk_disable(clk); 373 + 374 + of_i2c_register_devices(adap); 375 375 376 376 dev_info(&pdev->dev, " I2C adapter ready to operate\n"); 377 377
+1 -1
drivers/i2c/muxes/i2c-mux-pinctrl.c
··· 167 167 } 168 168 169 169 mux->busses = devm_kzalloc(&pdev->dev, 170 - sizeof(mux->busses) * mux->pdata->bus_count, 170 + sizeof(*mux->busses) * mux->pdata->bus_count, 171 171 GFP_KERNEL); 172 172 if (!mux->busses) { 173 173 dev_err(&pdev->dev, "Cannot allocate busses\n");