Commit de4f2f52 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Andi Shyti
Browse files

i2c: piix4: Register SPDs



The piix4 I2C bus can carry SPDs, register them if present.
Only look on bus 0, as this is where the SPDs seem to be located.

Only the first 8 slots are supported. If the system has more,
then these will not be visible.

The AUX bus can not be probed as on some platforms it reports all
devices present and all reads return "0".
This would allow the ee1004 to be probed incorrectly.

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
parent 8f3075cc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ config I2C_ISMT
config I2C_PIIX4
	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
	depends on PCI && HAS_IOPORT
	select I2C_SMBUS
	help
	  If you say yes to this option, support will be included for the Intel
	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
+9 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include <linux/stddef.h>
#include <linux/ioport.h>
#include <linux/i2c.h>
#include <linux/i2c-smbus.h>
#include <linux/slab.h>
#include <linux/dmi.h>
#include <linux/acpi.h>
@@ -982,6 +983,14 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba,
		return retval;
	}

	/*
	 * The AUX bus can not be probed as on some platforms it reports all
	 * devices present and all reads return "0".
	 * This would allow the ee1004 to be probed incorrectly.
	 */
	if (port == 0)
		i2c_register_spd(adap);

	*padap = adap;
	return 0;
}