Commit 656a95c4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c fixes from Wolfram Sang:

 - sanitize more input parameters in the core (found by syzkaller)

 - usual set of driver fixes (proper completion handling, applying
   quirks, correct workqueue selection...)

 - ID additions to simplify dependency handling

 - new email address for Peter Rosin

* tag 'i2c-for-7.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: smbus: reject oversized block transfers in the common path
  MAINTAINERS: Update mail for Peter Rosin
  i2c: stub: Reject I2C block transfers with invalid length
  i2c: Compare the return value of gpiod_get_direction against GPIO_LINE_DIRECTION_OUT
  i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl
  i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
  dt-bindings: i2c: apple,i2c: Add t8122 compatible
  i2c: stm32f7: reinit_completion() per transfer not per msg
  dt-bindings: i2c: amlogic: Add compatible for T7 SOC
  i2c: testunit: Replace system_long_wq with system_dfl_long_wq
parents bf0e0228 3051cd06
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -682,6 +682,7 @@ Peter A Jonsson <pj@ludd.ltu.se>
Peter Hilber <peter.hilber@oss.qualcomm.com> <quic_philber@quicinc.com>
Peter Oruba <peter.oruba@amd.com>
Peter Oruba <peter@oruba.de>
Peter Rosin <peda@lysator.liu.se> <peda@axentia.se>
Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> <pierre-louis.bossart@linux.intel.com>
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
Pratyush Yadav <pratyush@kernel.org> <ptyadav@amazon.de>
+9 −4
Original line number Diff line number Diff line
@@ -16,7 +16,12 @@ allOf:

properties:
  compatible:
    enum:
    oneOf:
      - items:
          - enum:
              - amlogic,t7-i2c
          - const: amlogic,meson-axg-i2c
      - enum:
          - amlogic,meson6-i2c # Meson6, Meson8 and compatible SoCs
          - amlogic,meson-gxbb-i2c # GXBB and compatible SoCs
          - amlogic,meson-axg-i2c # AXG and compatible SoCs
+3 −1
Original line number Diff line number Diff line
@@ -22,7 +22,9 @@ properties:
  compatible:
    oneOf:
      - items:
          - const: apple,t6020-i2c
          - enum:
              - apple,t6020-i2c
              - apple,t8122-i2c
          - const: apple,t8103-i2c
      - items:
          - enum:
+11 −13
Original line number Diff line number Diff line
@@ -4299,18 +4299,16 @@ F: Documentation/devicetree/bindings/leds/backlight/awinic,aw99706.yaml
F:	drivers/video/backlight/aw99706.c
AXENTIA ARM DEVICES
M:	Peter Rosin <peda@axentia.se>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
S:	Orphan
F:	arch/arm/boot/dts/microchip/at91-linea.dtsi
F:	arch/arm/boot/dts/microchip/at91-natte.dtsi
F:	arch/arm/boot/dts/microchip/at91-nattis-2-natte-2.dts
F:	arch/arm/boot/dts/microchip/at91-tse850-3.dts
AXENTIA ASOC DRIVERS
M:	Peter Rosin <peda@axentia.se>
L:	linux-sound@vger.kernel.org
S:	Maintained
S:	Orphan
F:	Documentation/devicetree/bindings/sound/axentia,*
F:	sound/soc/atmel/tse850-pcm5142.c
@@ -12050,7 +12048,7 @@ F: Documentation/i2c/busses/i2c-nvidia-gpu.rst
F:	drivers/i2c/busses/i2c-nvidia-gpu.c
I2C MUXES
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-i2c@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/i2c/i2c-arb*
@@ -12451,7 +12449,7 @@ F: drivers/iio/industrialio-backend.c
F:	include/linux/iio/backend.h
IIO DIGITAL POTENTIOMETER DAC
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-iio@vger.kernel.org
S:	Maintained
F:	Documentation/ABI/testing/sysfs-bus-iio-dac-dpot-dac
@@ -12459,7 +12457,7 @@ F: Documentation/devicetree/bindings/iio/dac/dpot-dac.yaml
F:	drivers/iio/dac/dpot-dac.c
IIO ENVELOPE DETECTOR
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-iio@vger.kernel.org
S:	Maintained
F:	Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
@@ -12475,7 +12473,7 @@ F: include/linux/iio/iio-gts-helper.h
F:	drivers/iio/test/iio-test-gts.c
IIO MULTIPLEXER
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-iio@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml
@@ -12506,7 +12504,7 @@ F: include/linux/iio/
F:	tools/iio/
IIO UNIT CONVERTER
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-iio@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml
@@ -15722,7 +15720,7 @@ F: Documentation/devicetree/bindings/media/i2c/maxim,max96717.yaml
F:	drivers/media/i2c/max96717.c
MAX9860 MONO AUDIO VOICE CODEC DRIVER
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-sound@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/sound/max9860.txt
@@ -15937,7 +15935,7 @@ F: Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml
F:	drivers/net/can/spi/mcp251xfd/
MCP4018 AND MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVERS
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-iio@vger.kernel.org
S:	Maintained
F:	Documentation/ABI/testing/sysfs-bus-iio-potentiometer-mcp4531
@@ -18242,7 +18240,7 @@ F: include/linux/mmc/
F:	include/uapi/linux/mmc/
MULTIPLEXER SUBSYSTEM
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
S:	Odd Fixes
F:	Documentation/ABI/testing/sysfs-class-mux*
F:	Documentation/devicetree/bindings/mux/
@@ -19351,7 +19349,7 @@ F: include/dt-bindings/display/tda998x.h
K:	"nxp,tda998x"
NXP TFA9879 DRIVER
M:	Peter Rosin <peda@axentia.se>
M:	Peter Rosin <peda@lysator.liu.se>
L:	linux-sound@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/sound/trivial-codec.yaml
+3 −3
Original line number Diff line number Diff line
@@ -895,8 +895,6 @@ static void stm32f7_i2c_xfer_msg(struct stm32f7_i2c_dev *i2c_dev,
	f7_msg->result = 0;
	f7_msg->stop = (i2c_dev->msg_id >= i2c_dev->msg_num - 1);

	reinit_completion(&i2c_dev->complete);

	cr1 = readl_relaxed(base + STM32F7_I2C_CR1);
	cr2 = readl_relaxed(base + STM32F7_I2C_CR2);

@@ -1728,6 +1726,8 @@ static int stm32f7_i2c_xfer_core(struct i2c_adapter *i2c_adap,
	if (ret)
		goto pm_free;

	reinit_completion(&i2c_dev->complete);

	stm32f7_i2c_xfer_msg(i2c_dev, msgs);

	if (!i2c_dev->atomic)
@@ -2253,7 +2253,7 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)
	snprintf(adap->name, sizeof(adap->name), "STM32F7 I2C(%pa)",
		 &res->start);
	adap->owner = THIS_MODULE;
	adap->timeout = 2 * HZ;
	adap->timeout = 8 * HZ;
	adap->retries = 3;
	adap->algo = &stm32f7_i2c_algo;
	adap->dev.parent = &pdev->dev;
Loading