From: Olof Johansson Subject: i2c-pasemi: use i2c_add_numbered_adapter() Use numbered adapter registration to always have the same hardware bus show up at the same number. PWRficient 1682M has three buses, they are all on the same PCI device but different functions. So do the simple thing and register them based on function number. Future products, if having a different number of busses, are expected to have similar behaviour w.r.t. device/function layout. Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare --- drivers/i2c/busses/i2c-pasemi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- linux-2.6.24-rc2.orig/drivers/i2c/busses/i2c-pasemi.c 2007-11-15 20:16:51.000000000 +0100 +++ linux-2.6.24-rc2/drivers/i2c/busses/i2c-pasemi.c 2007-11-15 20:16:57.000000000 +0100 @@ -368,6 +368,7 @@ static int __devinit pasemi_smb_probe(st smbus->adapter.class = I2C_CLASS_HWMON; 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(st 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;