[PATCH v2] powerpc/pasemi: Remove hardcoded bus numbers on smbus

Darren Stevens darren at stevens-zone.net
Sat Jan 21 04:46:39 AEDT 2017

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

Signed-off-by: Darren Stevens <darren at stevens-zone.net>


  v2 - remove unnecessary smbus->adapter.nr initialisation.

diff --git a/drivers/i2c/busses/i2c-pasemi.c b/drivers/i2c/busses/i2c-pasemi.c
index df1dbc9..05847fd 100644
--- a/drivers/i2c/busses/i2c-pasemi.c
+++ b/drivers/i2c/busses/i2c-pasemi.c
@@ -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;

More information about the Linuxppc-dev mailing list