Commit 38baf0bb 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:
 "A memleak fix for the core, two driver bugfixes, as well as fixing
  missing file patterns to MAINTAINERS"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  MAINTAINERS: add I2C DT bindings to ARM platforms
  MAINTAINERS: add DT bindings to i2c drivers
  i2c: synquacer: fix synquacer_i2c_doxfer() return value
  i2c: mlxcpld: Fix wrong initialization order in probe
  i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr
parents 378e853f c8552db3
...@@ -696,6 +696,7 @@ F: drivers/input/mouse/alps.* ...@@ -696,6 +696,7 @@ F: drivers/input/mouse/alps.*
ALTERA I2C CONTROLLER DRIVER ALTERA I2C CONTROLLER DRIVER
M: Thor Thayer <thor.thayer@linux.intel.com> M: Thor Thayer <thor.thayer@linux.intel.com>
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-altera.txt
F: drivers/i2c/busses/i2c-altera.c F: drivers/i2c/busses/i2c-altera.c
ALTERA MAILBOX DRIVER ALTERA MAILBOX DRIVER
...@@ -1174,6 +1175,7 @@ S: Maintained ...@@ -1174,6 +1175,7 @@ S: Maintained
F: Documentation/devicetree/bindings/arm/arm-boards F: Documentation/devicetree/bindings/arm/arm-boards
F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
F: Documentation/devicetree/bindings/clock/arm-integrator.txt F: Documentation/devicetree/bindings/clock/arm-integrator.txt
F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt
F: Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt F: Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
F: Documentation/devicetree/bindings/mtd/arm-versatile.txt F: Documentation/devicetree/bindings/mtd/arm-versatile.txt
F: arch/arm/mach-integrator/ F: arch/arm/mach-integrator/
...@@ -1781,6 +1783,7 @@ ARM/LPC18XX ARCHITECTURE ...@@ -1781,6 +1783,7 @@ ARM/LPC18XX ARCHITECTURE
M: Vladimir Zapolskiy <vz@mleia.com> M: Vladimir Zapolskiy <vz@mleia.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
F: arch/arm/boot/dts/lpc43* F: arch/arm/boot/dts/lpc43*
F: drivers/i2c/busses/i2c-lpc2k.c F: drivers/i2c/busses/i2c-lpc2k.c
F: drivers/memory/pl172.c F: drivers/memory/pl172.c
...@@ -1794,6 +1797,7 @@ M: Sylvain Lemieux <slemieux.tyco@gmail.com> ...@@ -1794,6 +1797,7 @@ M: Sylvain Lemieux <slemieux.tyco@gmail.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
T: git git://github.com/vzapolskiy/linux-lpc32xx.git T: git git://github.com/vzapolskiy/linux-lpc32xx.git
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-pnx.txt
F: arch/arm/boot/dts/lpc32* F: arch/arm/boot/dts/lpc32*
F: arch/arm/mach-lpc32xx/ F: arch/arm/mach-lpc32xx/
F: drivers/i2c/busses/i2c-pnx.c F: drivers/i2c/busses/i2c-pnx.c
...@@ -1918,6 +1922,8 @@ ARM/NOMADIK/U300/Ux500 ARCHITECTURES ...@@ -1918,6 +1922,8 @@ ARM/NOMADIK/U300/Ux500 ARCHITECTURES
M: Linus Walleij <linus.walleij@linaro.org> M: Linus Walleij <linus.walleij@linaro.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-nomadik.txt
F: Documentation/devicetree/bindings/i2c/i2c-stu300.txt
F: arch/arm/mach-nomadik/ F: arch/arm/mach-nomadik/
F: arch/arm/mach-u300/ F: arch/arm/mach-u300/
F: arch/arm/mach-ux500/ F: arch/arm/mach-ux500/
...@@ -2140,6 +2146,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) ...@@ -2140,6 +2146,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: linux-rockchip@lists.infradead.org L: linux-rockchip@lists.infradead.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
F: arch/arm/boot/dts/rk3* F: arch/arm/boot/dts/rk3*
F: arch/arm/boot/dts/rv1108* F: arch/arm/boot/dts/rv1108*
F: arch/arm/mach-rockchip/ F: arch/arm/mach-rockchip/
...@@ -2275,6 +2282,7 @@ M: Patrice Chotard <patrice.chotard@st.com> ...@@ -2275,6 +2282,7 @@ M: Patrice Chotard <patrice.chotard@st.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.stlinux.com W: http://www.stlinux.com
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-st.txt
F: arch/arm/mach-sti/ F: arch/arm/mach-sti/
F: arch/arm/boot/dts/sti* F: arch/arm/boot/dts/sti*
F: drivers/char/hw_random/st-rng.c F: drivers/char/hw_random/st-rng.c
...@@ -2466,6 +2474,7 @@ ARM/VT8500 ARM ARCHITECTURE ...@@ -2466,6 +2474,7 @@ ARM/VT8500 ARM ARCHITECTURE
M: Tony Prisk <linux@prisktech.co.nz> M: Tony Prisk <linux@prisktech.co.nz>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
F: arch/arm/mach-vt8500/ F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c F: drivers/clocksource/timer-vt8500.c
F: drivers/i2c/busses/i2c-wmt.c F: drivers/i2c/busses/i2c-wmt.c
...@@ -2531,6 +2540,8 @@ F: drivers/cpuidle/cpuidle-zynq.c ...@@ -2531,6 +2540,8 @@ F: drivers/cpuidle/cpuidle-zynq.c
F: drivers/block/xsysace.c F: drivers/block/xsysace.c
N: zynq N: zynq
N: xilinx N: xilinx
F: Documentation/devicetree/bindings/i2c/i2c-cadence.txt
F: Documentation/devicetree/bindings/i2c/i2c-xiic.txt
F: drivers/clocksource/timer-cadence-ttc.c F: drivers/clocksource/timer-cadence-ttc.c
F: drivers/i2c/busses/i2c-cadence.c F: drivers/i2c/busses/i2c-cadence.c
F: drivers/mmc/host/sdhci-of-arasan.c F: drivers/mmc/host/sdhci-of-arasan.c
...@@ -7342,6 +7353,7 @@ I2C MV64XXX MARVELL AND ALLWINNER DRIVER ...@@ -7342,6 +7353,7 @@ I2C MV64XXX MARVELL AND ALLWINNER DRIVER
M: Gregory CLEMENT <gregory.clement@bootlin.com> M: Gregory CLEMENT <gregory.clement@bootlin.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
F: drivers/i2c/busses/i2c-mv64xxx.c F: drivers/i2c/busses/i2c-mv64xxx.c
I2C OVER PARALLEL PORT I2C OVER PARALLEL PORT
...@@ -11725,6 +11737,7 @@ M: Peter Korsgaard <peter@korsgaard.com> ...@@ -11725,6 +11737,7 @@ M: Peter Korsgaard <peter@korsgaard.com>
M: Andrew Lunn <andrew@lunn.ch> M: Andrew Lunn <andrew@lunn.ch>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/i2c/i2c-ocores.txt
F: Documentation/i2c/busses/i2c-ocores F: Documentation/i2c/busses/i2c-ocores
F: drivers/i2c/busses/i2c-ocores.c F: drivers/i2c/busses/i2c-ocores.c
F: include/linux/platform_data/i2c-ocores.h F: include/linux/platform_data/i2c-ocores.h
...@@ -13364,6 +13377,7 @@ F: drivers/clk/renesas/ ...@@ -13364,6 +13377,7 @@ F: drivers/clk/renesas/
RENESAS EMEV2 I2C DRIVER RENESAS EMEV2 I2C DRIVER
M: Wolfram Sang <wsa+renesas@sang-engineering.com> M: Wolfram Sang <wsa+renesas@sang-engineering.com>
S: Supported S: Supported
F: Documentation/devicetree/bindings/i2c/i2c-emev2.txt
F: drivers/i2c/busses/i2c-emev2.c F: drivers/i2c/busses/i2c-emev2.c
RENESAS ETHERNET DRIVERS RENESAS ETHERNET DRIVERS
...@@ -13385,6 +13399,8 @@ F: drivers/iio/adc/rcar-gyroadc.c ...@@ -13385,6 +13399,8 @@ F: drivers/iio/adc/rcar-gyroadc.c
RENESAS R-CAR I2C DRIVERS RENESAS R-CAR I2C DRIVERS
M: Wolfram Sang <wsa+renesas@sang-engineering.com> M: Wolfram Sang <wsa+renesas@sang-engineering.com>
S: Supported S: Supported
F: Documentation/devicetree/bindings/i2c/i2c-rcar.txt
F: Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt
F: drivers/i2c/busses/i2c-rcar.c F: drivers/i2c/busses/i2c-rcar.c
F: drivers/i2c/busses/i2c-sh_mobile.c F: drivers/i2c/busses/i2c-sh_mobile.c
...@@ -15674,6 +15690,7 @@ R: Bartosz Golaszewski <bgolaszewski@baylibre.com> ...@@ -15674,6 +15690,7 @@ R: Bartosz Golaszewski <bgolaszewski@baylibre.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
S: Supported S: Supported
F: Documentation/devicetree/bindings/i2c/i2c-davinci.txt
F: arch/arm/mach-davinci/ F: arch/arm/mach-davinci/
F: drivers/i2c/busses/i2c-davinci.c F: drivers/i2c/busses/i2c-davinci.c
F: arch/arm/boot/dts/da850* F: arch/arm/boot/dts/da850*
...@@ -17377,6 +17394,7 @@ M: Jan Glauber <jglauber@cavium.com> ...@@ -17377,6 +17394,7 @@ M: Jan Glauber <jglauber@cavium.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
W: http://www.cavium.com W: http://www.cavium.com
S: Supported S: Supported
F: Documentation/devicetree/bindings/i2c/i2c-xlp9xx.txt
F: drivers/i2c/busses/i2c-xlp9xx.c F: drivers/i2c/busses/i2c-xlp9xx.c
XRA1403 GPIO EXPANDER XRA1403 GPIO EXPANDER
......
...@@ -503,6 +503,7 @@ static int mlxcpld_i2c_probe(struct platform_device *pdev) ...@@ -503,6 +503,7 @@ static int mlxcpld_i2c_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, priv); platform_set_drvdata(pdev, priv);
priv->dev = &pdev->dev; priv->dev = &pdev->dev;
priv->base_addr = MLXPLAT_CPLD_LPC_I2C_BASE_ADDR;
/* Register with i2c layer */ /* Register with i2c layer */
mlxcpld_i2c_adapter.timeout = usecs_to_jiffies(MLXCPLD_I2C_XFER_TO); mlxcpld_i2c_adapter.timeout = usecs_to_jiffies(MLXCPLD_I2C_XFER_TO);
...@@ -518,7 +519,6 @@ static int mlxcpld_i2c_probe(struct platform_device *pdev) ...@@ -518,7 +519,6 @@ static int mlxcpld_i2c_probe(struct platform_device *pdev)
mlxcpld_i2c_adapter.nr = pdev->id; mlxcpld_i2c_adapter.nr = pdev->id;
priv->adap = mlxcpld_i2c_adapter; priv->adap = mlxcpld_i2c_adapter;
priv->adap.dev.parent = &pdev->dev; priv->adap.dev.parent = &pdev->dev;
priv->base_addr = MLXPLAT_CPLD_LPC_I2C_BASE_ADDR;
i2c_set_adapdata(&priv->adap, priv); i2c_set_adapdata(&priv->adap, priv);
err = i2c_add_numbered_adapter(&priv->adap); err = i2c_add_numbered_adapter(&priv->adap);
......
...@@ -351,7 +351,7 @@ static int synquacer_i2c_doxfer(struct synquacer_i2c *i2c, ...@@ -351,7 +351,7 @@ static int synquacer_i2c_doxfer(struct synquacer_i2c *i2c,
/* wait 2 clock periods to ensure the stop has been through the bus */ /* wait 2 clock periods to ensure the stop has been through the bus */
udelay(DIV_ROUND_UP(2 * 1000, i2c->speed_khz)); udelay(DIV_ROUND_UP(2 * 1000, i2c->speed_khz));
return 0; return ret;
} }
static irqreturn_t synquacer_i2c_isr(int irq, void *dev_id) static irqreturn_t synquacer_i2c_isr(int irq, void *dev_id)
......
...@@ -275,6 +275,7 @@ static noinline int i2cdev_ioctl_rdwr(struct i2c_client *client, ...@@ -275,6 +275,7 @@ static noinline int i2cdev_ioctl_rdwr(struct i2c_client *client,
msgs[i].len < 1 || msgs[i].buf[0] < 1 || msgs[i].len < 1 || msgs[i].buf[0] < 1 ||
msgs[i].len < msgs[i].buf[0] + msgs[i].len < msgs[i].buf[0] +
I2C_SMBUS_BLOCK_MAX) { I2C_SMBUS_BLOCK_MAX) {
i++;
res = -EINVAL; res = -EINVAL;
break; break;
} }
......
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