Commit 5c18d12c authored by Darren Stevens's avatar Darren Stevens Committed by Wolfram Sang
Browse files

i2c: pasemi: remove hardcoded bus numbers on smbus



The pasemi smbus controller uses PCI_FUNC(dev->devfn) to define which
number bus to attach to, however this fails when something else is
probed first, for example an ATI Radeon graphics card will claim 9 or
10 busses, including the ones the pasemi wants.
Patch the driver to call i2c_add_adapter rather than
i2c_add_numbered_adapter.

Signed-off-by: default avatarDarren Stevens <darren@stevens-zone.net>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 15c566fc
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -365,7 +365,6 @@ static int pasemi_smb_probe(struct pci_dev *dev,
	smbus->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
	smbus->adapter.algo = &smbus_algorithm;
	smbus->adapter.algo_data = smbus;
	smbus->adapter.nr = PCI_FUNC(dev->devfn);

	/* set up the sysfs linkage to our parent device */
	smbus->adapter.dev.parent = &dev->dev;
@@ -373,7 +372,7 @@ static int pasemi_smb_probe(struct pci_dev *dev,
	reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
		  (CLK_100K_DIV & CTL_CLK_M)));

	error = i2c_add_numbered_adapter(&smbus->adapter);
	error = i2c_add_adapter(&smbus->adapter);
	if (error)
		goto out_release_region;