diff options
Diffstat (limited to 'drivers/i2c')
| -rw-r--r-- | drivers/i2c/busses/i2c-designware-core.c | 4 | ||||
| -rw-r--r-- | drivers/i2c/busses/i2c-mxs.c | 6 | ||||
| -rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 6 | ||||
| -rw-r--r-- | drivers/i2c/busses/i2c-sirf.c | 4 | ||||
| -rw-r--r-- | drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 | 
5 files changed, 16 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c index cbba7db9ad5..f5258c205de 100644 --- a/drivers/i2c/busses/i2c-designware-core.c +++ b/drivers/i2c/busses/i2c-designware-core.c @@ -34,6 +34,7 @@  #include <linux/io.h>  #include <linux/pm_runtime.h>  #include <linux/delay.h> +#include <linux/module.h>  #include "i2c-designware-core.h"  /* @@ -725,3 +726,6 @@ u32 i2c_dw_read_comp_param(struct dw_i2c_dev *dev)  	return dw_readl(dev, DW_IC_COMP_PARAM_1);  }  EXPORT_SYMBOL_GPL(i2c_dw_read_comp_param); + +MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter core"); +MODULE_LICENSE("GPL"); diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c index 1b1a936eccc..d6abaf2cf2e 100644 --- a/drivers/i2c/busses/i2c-mxs.c +++ b/drivers/i2c/busses/i2c-mxs.c @@ -127,7 +127,7 @@ struct mxs_i2c_dev {  	struct device *dev;  	void __iomem *regs;  	struct completion cmd_complete; -	u32 cmd_err; +	int cmd_err;  	struct i2c_adapter adapter;  	const struct mxs_i2c_speed_config *speed; @@ -316,7 +316,7 @@ static int mxs_i2c_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg,  	if (msg->len == 0)  		return -EINVAL; -	init_completion(&i2c->cmd_complete); +	INIT_COMPLETION(i2c->cmd_complete);  	i2c->cmd_err = 0;  	ret = mxs_i2c_dma_setup_xfer(adap, msg, flags); @@ -473,6 +473,8 @@ static int mxs_i2c_probe(struct platform_device *pdev)  	i2c->dev = dev;  	i2c->speed = &mxs_i2c_95kHz_config; +	init_completion(&i2c->cmd_complete); +  	if (dev->of_node) {  		err = mxs_i2c_get_ofdata(i2c);  		if (err) diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 20d41bfa7c1..4cc2f0528c8 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -803,7 +803,7 @@ static int errata_omap3_i462(struct omap_i2c_dev *dev)  			if (stat & OMAP_I2C_STAT_AL) {  				dev_err(dev->dev, "Arbitration lost\n");  				dev->cmd_err |= OMAP_I2C_STAT_AL; -				omap_i2c_ack_stat(dev, OMAP_I2C_STAT_NACK); +				omap_i2c_ack_stat(dev, OMAP_I2C_STAT_AL);  			}  			return -EIO; @@ -963,7 +963,7 @@ omap_i2c_isr_thread(int this_irq, void *dev_id)  				i2c_omap_errata_i207(dev, stat);  			omap_i2c_ack_stat(dev, OMAP_I2C_STAT_RDR); -			break; +			continue;  		}  		if (stat & OMAP_I2C_STAT_RRDY) { @@ -989,7 +989,7 @@ omap_i2c_isr_thread(int this_irq, void *dev_id)  				break;  			omap_i2c_ack_stat(dev, OMAP_I2C_STAT_XDR); -			break; +			continue;  		}  		if (stat & OMAP_I2C_STAT_XRDY) { diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c index 3f1818b8797..e03381aee34 100644 --- a/drivers/i2c/busses/i2c-sirf.c +++ b/drivers/i2c/busses/i2c-sirf.c @@ -12,6 +12,7 @@  #include <linux/slab.h>  #include <linux/platform_device.h>  #include <linux/i2c.h> +#include <linux/of_i2c.h>  #include <linux/clk.h>  #include <linux/err.h>  #include <linux/io.h> @@ -328,6 +329,7 @@ static int i2c_sirfsoc_probe(struct platform_device *pdev)  	adap->algo = &i2c_sirfsoc_algo;  	adap->algo_data = siic; +	adap->dev.of_node = pdev->dev.of_node;  	adap->dev.parent = &pdev->dev;  	adap->nr = pdev->id; @@ -371,6 +373,8 @@ static int i2c_sirfsoc_probe(struct platform_device *pdev)  	clk_disable(clk); +	of_i2c_register_devices(adap); +  	dev_info(&pdev->dev, " I2C adapter ready to operate\n");  	return 0; diff --git a/drivers/i2c/muxes/i2c-mux-pinctrl.c b/drivers/i2c/muxes/i2c-mux-pinctrl.c index 1e44d04d1b2..a43c0ce5e3d 100644 --- a/drivers/i2c/muxes/i2c-mux-pinctrl.c +++ b/drivers/i2c/muxes/i2c-mux-pinctrl.c @@ -167,7 +167,7 @@ static int i2c_mux_pinctrl_probe(struct platform_device *pdev)  	}  	mux->busses = devm_kzalloc(&pdev->dev, -				   sizeof(mux->busses) * mux->pdata->bus_count, +				   sizeof(*mux->busses) * mux->pdata->bus_count,  				   GFP_KERNEL);  	if (!mux->busses) {  		dev_err(&pdev->dev, "Cannot allocate busses\n");  |