linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / i2c / i2c-dev.c
index 58ccddd..ed7eed3 100644 (file)
@@ -426,7 +426,10 @@ static int i2cdev_attach_adapter(struct i2c_adapter *adap)
 
        /* register this i2c device with the driver core */
        i2c_dev->adap = adap;
-       dev = &adap->dev;
+       if (adap->dev.parent == &platform_bus)
+               dev = &adap->dev;
+       else
+               dev = adap->dev.parent;
        i2c_dev->class_dev = class_device_create(i2c_dev_class, NULL,
                                                 MKDEV(I2C_MAJOR, i2c_dev->minor),
                                                 dev, "i2c-%d", i2c_dev->minor);