]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/i2c/busses/i2c-pasemi.c
i2c: Fix oops on bus multiplexer driver loading
[linux-2.6-omap-h63xx.git] / drivers / i2c / busses / i2c-pasemi.c
index ca18e0be4901a52b2881c1f0e2b996bc2612abe3..adf0fbb902f0850fb77a77b2bdee30a6bff7e206 100644 (file)
@@ -365,9 +365,10 @@ static int __devinit pasemi_smb_probe(struct pci_dev *dev,
        smbus->adapter.owner = THIS_MODULE;
        snprintf(smbus->adapter.name, sizeof(smbus->adapter.name),
                 "PA Semi SMBus adapter at 0x%lx", smbus->base);
-       smbus->adapter.class = I2C_CLASS_HWMON;
+       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;
@@ -375,7 +376,7 @@ static int __devinit 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_adapter(&smbus->adapter);
+       error = i2c_add_numbered_adapter(&smbus->adapter);
        if (error)
                goto out_release_region;