Commit c37f8efc authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c fixes from Wolfram Sang:
 "The main thing is the removal of 'probe_new' because all i2c client
  drivers are converted now. Thanks Uwe, this marks the end of a long
  conversion process.

  Other than that, we have a few Kconfig updates and driver bugfixes"

* tag 'i2c-for-6.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: cadence: Fix the kernel-doc warnings
  i2c: aspeed: Reset the i2c controller when timeout occurs
  i2c: I2C_MLXCPLD on ARM64 should depend on ACPI
  i2c: Make I2C_ATR invisible
  i2c: Drop legacy callback .probe_new()
  w1: ds2482: Switch back to use struct i2c_driver's .probe()
parents 57d88e8a 637f33a4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ config I2C_MUX
source "drivers/i2c/muxes/Kconfig"

config I2C_ATR
	tristate "I2C Address Translator (ATR) support"
	tristate "I2C Address Translator (ATR) support" if COMPILE_TEST
	help
	  Enable support for I2C Address Translator (ATR) chips.

+2 −2
Original line number Diff line number Diff line
@@ -1384,10 +1384,10 @@ config I2C_ICY

config I2C_MLXCPLD
	tristate "Mellanox I2C driver"
	depends on X86_64 || ARM64 || COMPILE_TEST
	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
	help
	  This exposes the Mellanox platform I2C busses to the linux I2C layer
	  for X86 based systems.
	  for X86 and ARM64/ACPI based systems.
	  Controller is implemented as CPLD logic.

	  This driver can also be built as a module. If so, the module will be
+5 −2
Original line number Diff line number Diff line
@@ -698,13 +698,16 @@ static int aspeed_i2c_master_xfer(struct i2c_adapter *adap,

	if (time_left == 0) {
		/*
		 * If timed out and bus is still busy in a multi master
		 * environment, attempt recovery at here.
		 * In a multi-master setup, if a timeout occurs, attempt
		 * recovery. But if the bus is idle, we still need to reset the
		 * i2c controller to clear the remaining interrupts.
		 */
		if (bus->multi_master &&
		    (readl(bus->base + ASPEED_I2C_CMD_REG) &
		     ASPEED_I2CD_BUS_BUSY_STS))
			aspeed_i2c_recover_bus(bus);
		else
			aspeed_i2c_reset(bus);

		/*
		 * If timed out and the state is still pending, drop the pending
+1 −0
Original line number Diff line number Diff line
@@ -182,6 +182,7 @@ enum cdns_i2c_slave_state {
 * @reset:		Reset control for the device
 * @quirks:		flag for broken hold bit usage in r1p10
 * @ctrl_reg:		Cached value of the control register.
 * @rinfo:		I2C GPIO recovery information
 * @ctrl_reg_diva_divb: value of fields DIV_A and DIV_B from CR register
 * @slave:		Registered slave instance.
 * @dev_mode:		I2C operating role(master/slave).
+1 −1
Original line number Diff line number Diff line
@@ -551,7 +551,7 @@ static struct i2c_driver ds2482_driver = {
	.driver = {
		.name	= "ds2482",
	},
	.probe_new	= ds2482_probe,
	.probe		= ds2482_probe,
	.remove		= ds2482_remove,
	.id_table	= ds2482_id,
};
Loading