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 Original line Diff line number Diff line
@@ -72,7 +72,7 @@ config I2C_MUX
source "drivers/i2c/muxes/Kconfig"
source "drivers/i2c/muxes/Kconfig"


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


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


config I2C_MLXCPLD
config I2C_MLXCPLD
	tristate "Mellanox I2C driver"
	tristate "Mellanox I2C driver"
	depends on X86_64 || ARM64 || COMPILE_TEST
	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
	help
	help
	  This exposes the Mellanox platform I2C busses to the linux I2C layer
	  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.
	  Controller is implemented as CPLD logic.


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


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


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