diff mbox

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

Message ID 49760dd87cb.596db16f@auth.smtp.1and1.co.uk (mailing list archive)
State Not Applicable
Headers show

Commit Message

Darren Stevens Jan. 20, 2017, 5:46 p.m. UTC
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: Darren Stevens <darren@stevens-zone.net>

---

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

Comments

Michael Ellerman Jan. 24, 2017, 10:35 a.m. UTC | #1
Darren Stevens <darren@stevens-zone.net> writes:
> 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.

This is an i2c patch so the subject should be something like:

i2c/pasemi: Remove hardcoded bus numbers on smbus

And it should be sent to:

wsa@the-dreams.de
linux-i2c@vger.kernel.org
linuxppc-dev@lists.ozlabs.org
linux-kernel@vger.kernel.org

cheers
diff mbox

Patch

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;