/* This is the driver that will be inserted */
 static struct i2c_driver adm1021_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "adm1021",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "adm1021",
+       },
        .id             = I2C_DRIVERID_ADM1021,
        .attach_adapter = adm1021_attach_adapter,
        .detach_client  = adm1021_detach_client,
 
  */
 
 static struct i2c_driver adm1025_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "adm1025",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "adm1025",
+       },
        .id             = I2C_DRIVERID_ADM1025,
        .attach_adapter = adm1025_attach_adapter,
        .detach_client  = adm1025_detach_client,
 
 
 
 static struct i2c_driver adm1026_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "adm1026",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "adm1026",
+       },
        .attach_adapter = adm1026_attach_adapter,
        .detach_client  = adm1026_detach_client,
 };
 
 
 /* This is the driver that will be inserted */
 static struct i2c_driver adm1031_driver = {
-       .owner = THIS_MODULE,
-       .name = "adm1031",
+       .driver = {
+               .owner = THIS_MODULE,
+               .name = "adm1031",
+       },
        .attach_adapter = adm1031_attach_adapter,
        .detach_client = adm1031_detach_client,
 };
 
 
 /* driver data */
 static struct i2c_driver adm9240_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "adm9240",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "adm9240",
+       },
        .id             = I2C_DRIVERID_ADM9240,
        .attach_adapter = adm9240_attach_adapter,
        .detach_client  = adm9240_detach_client,
 
 static void asb100_init_client(struct i2c_client *client);
 
 static struct i2c_driver asb100_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "asb100",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "asb100",
+       },
        .id             = I2C_DRIVERID_ASB100,
        .attach_adapter = asb100_attach_adapter,
        .detach_client  = asb100_detach_client,
 
 static int atxp1_detect(struct i2c_adapter *adapter, int address, int kind);
 
 static struct i2c_driver atxp1_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "atxp1",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "atxp1",
+       },
        .attach_adapter = atxp1_attach_adapter,
        .detach_client  = atxp1_detach_client,
 };
 
 
 /* This is the driver that will be inserted */
 static struct i2c_driver ds1621_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "ds1621",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "ds1621",
+       },
        .id             = I2C_DRIVERID_DS1621,
        .attach_adapter = ds1621_attach_adapter,
        .detach_client  = ds1621_detach_client,
 
  */
  
 static struct i2c_driver fscher_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "fscher",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "fscher",
+       },
        .id             = I2C_DRIVERID_FSCHER,
        .attach_adapter = fscher_attach_adapter,
        .detach_client  = fscher_detach_client,
 
  * Driver data (common to all clients)
  */
 static struct i2c_driver fscpos_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "fscpos",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "fscpos",
+       },
        .id             = I2C_DRIVERID_FSCPOS,
        .attach_adapter = fscpos_attach_adapter,
        .detach_client  = fscpos_detach_client,
 
 
 /* This is the driver that will be inserted */
 static struct i2c_driver gl518_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "gl518sm",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "gl518sm",
+       },
        .id             = I2C_DRIVERID_GL518,
        .attach_adapter = gl518_attach_adapter,
        .detach_client  = gl518_detach_client,
 
 
 /* Driver data */
 static struct i2c_driver gl520_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "gl520sm",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "gl520sm",
+       },
        .id             = I2C_DRIVERID_GL520,
        .attach_adapter = gl520_attach_adapter,
        .detach_client  = gl520_detach_client,
 
 
 
 static struct i2c_driver it87_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "it87",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "it87",
+       },
        .id             = I2C_DRIVERID_IT87,
        .attach_adapter = it87_attach_adapter,
        .detach_client  = it87_detach_client,
 };
 
 static struct i2c_driver it87_isa_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "it87-isa",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "it87-isa",
+       },
        .attach_adapter = it87_isa_attach_adapter,
        .detach_client  = it87_detach_client,
 };
 
        /* Reserve the ISA region */
        if (is_isa)
-               if (!request_region(address, IT87_EXTENT, it87_isa_driver.name))
+               if (!request_region(address, IT87_EXTENT,
+                                   it87_isa_driver.driver.name))
                        goto ERROR0;
 
        /* For now, we presume we have a valid client. We create the
 
  */
 
 static struct i2c_driver lm63_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm63",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm63",
+       },
        .attach_adapter = lm63_attach_adapter,
        .detach_client  = lm63_detach_client,
 };
 
 
 /* This is the driver that will be inserted */
 static struct i2c_driver lm75_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm75",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm75",
+       },
        .id             = I2C_DRIVERID_LM75,
        .attach_adapter = lm75_attach_adapter,
        .detach_client  = lm75_detach_client,
 
 
 /* This is the driver that will be inserted */
 static struct i2c_driver lm77_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm77",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm77",
+       },
        .attach_adapter = lm77_attach_adapter,
        .detach_client  = lm77_detach_client,
 };
 
 
 
 static struct i2c_driver lm78_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm78",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm78",
+       },
        .id             = I2C_DRIVERID_LM78,
        .attach_adapter = lm78_attach_adapter,
        .detach_client  = lm78_detach_client,
 };
 
 static struct i2c_driver lm78_isa_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm78-isa",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm78-isa",
+       },
        .attach_adapter = lm78_isa_attach_adapter,
        .detach_client  = lm78_detach_client,
 };
        /* Reserve the ISA region */
        if (is_isa)
                if (!request_region(address, LM78_EXTENT,
-                                   lm78_isa_driver.name)) {
+                                   lm78_isa_driver.driver.name)) {
                        err = -EBUSY;
                        goto ERROR0;
                }
 
  */
 
 static struct i2c_driver lm80_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm80",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm80",
+       },
        .id             = I2C_DRIVERID_LM80,
        .attach_adapter = lm80_attach_adapter,
        .detach_client  = lm80_detach_client,
 
  */
  
 static struct i2c_driver lm83_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm83",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm83",
+       },
        .id             = I2C_DRIVERID_LM83,
        .attach_adapter = lm83_attach_adapter,
        .detach_client  = lm83_detach_client,
 
 
 
 static struct i2c_driver lm85_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm85",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm85",
+       },
        .id             = I2C_DRIVERID_LM85,
        .attach_adapter = lm85_attach_adapter,
        .detach_client  = lm85_detach_client,
 
  */
 
 static struct i2c_driver lm87_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm87",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm87",
+       },
        .id             = I2C_DRIVERID_LM87,
        .attach_adapter = lm87_attach_adapter,
        .detach_client  = lm87_detach_client,
 
  */
 
 static struct i2c_driver lm90_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm90",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm90",
+       },
        .id             = I2C_DRIVERID_LM90,
        .attach_adapter = lm90_attach_adapter,
        .detach_client  = lm90_detach_client,
 
  */
 
 static struct i2c_driver lm92_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "lm92",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "lm92",
+       },
        .id             = I2C_DRIVERID_LM92,
        .attach_adapter = lm92_attach_adapter,
        .detach_client  = lm92_detach_client,
 
  */
 
 static struct i2c_driver max1619_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "max1619",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "max1619",
+       },
        .attach_adapter = max1619_attach_adapter,
        .detach_client  = max1619_detach_client,
 };
 
  */
 
 static struct i2c_driver pc87360_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "pc87360",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "pc87360",
+       },
        .attach_adapter = pc87360_detect,
        .detach_client  = pc87360_detach_client,
 };
        for (i = 0; i < 3; i++) {
                if (((data->address[i] = extra_isa[i]))
                 && !request_region(extra_isa[i], PC87360_EXTENT,
-                                   pc87360_driver.name)) {
+                                   pc87360_driver.driver.name)) {
                        dev_err(&new_client->dev, "Region 0x%x-0x%x already "
                                "in use!\n", extra_isa[i],
                                extra_isa[i]+PC87360_EXTENT-1);
 
 static void sis5595_init_client(struct i2c_client *client);
 
 static struct i2c_driver sis5595_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "sis5595",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "sis5595",
+       },
        .attach_adapter = sis5595_detect,
        .detach_client  = sis5595_detach_client,
 };
        if (force_addr)
                address = force_addr & ~(SIS5595_EXTENT - 1);
        /* Reserve the ISA region */
-       if (!request_region(address, SIS5595_EXTENT, sis5595_driver.name)) {
+       if (!request_region(address, SIS5595_EXTENT,
+                           sis5595_driver.driver.name)) {
                err = -EBUSY;
                goto exit;
        }
 
 static int smsc47b397_detect(struct i2c_adapter *adapter);
 
 static struct i2c_driver smsc47b397_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "smsc47b397",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "smsc47b397",
+       },
        .attach_adapter = smsc47b397_detect,
        .detach_client  = smsc47b397_detach_client,
 };
        struct smsc47b397_data *data;
        int err = 0;
 
-       if (!request_region(address, SMSC_EXTENT, smsc47b397_driver.name)) {
+       if (!request_region(address, SMSC_EXTENT,
+                           smsc47b397_driver.driver.name)) {
                dev_err(&adapter->dev, "Region 0x%x already in use!\n",
                        address);
                return -EBUSY;
 
 
 
 static struct i2c_driver smsc47m1_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "smsc47m1",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "smsc47m1",
+       },
        .attach_adapter = smsc47m1_detect,
        .detach_client  = smsc47m1_detach_client,
 };
        int err = 0;
        int fan1, fan2, pwm1, pwm2;
 
-       if (!request_region(address, SMSC_EXTENT, smsc47m1_driver.name)) {
+       if (!request_region(address, SMSC_EXTENT, smsc47m1_driver.driver.name)) {
                dev_err(&adapter->dev, "Region 0x%x already in use!\n", address);
                return -EBUSY;
        }
 
 /* The driver. I choose to use type i2c_driver, as at is identical to both
    smbus_driver and isa_driver, and clients could be of either kind */
 static struct i2c_driver via686a_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "via686a",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "via686a",
+       },
        .attach_adapter = via686a_detect,
        .detach_client  = via686a_detach_client,
 };
        }
 
        /* Reserve the ISA region */
-       if (!request_region(address, VIA686A_EXTENT, via686a_driver.name)) {
+       if (!request_region(address, VIA686A_EXTENT,
+                           via686a_driver.driver.name)) {
                dev_err(&adapter->dev, "region 0x%x already in use!\n",
                        address);
                return -ENODEV;
 
 static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
 
 static struct i2c_driver vt8231_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "vt8231",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "vt8231",
+       },
        .attach_adapter = vt8231_detect,
        .detach_client  = vt8231_detach_client,
 };
 
        int i, err = 0;
 
        if (!request_region(address + REGION_OFFSET, REGION_LENGTH,
-                           w83627ehf_driver.name)) {
+                           w83627ehf_driver.driver.name)) {
                err = -EBUSY;
                goto exit;
        }
 }
 
 static struct i2c_driver w83627ehf_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "w83627ehf",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "w83627ehf",
+       },
        .attach_adapter = w83627ehf_detect,
        .detach_client  = w83627ehf_detach_client,
 };
 
 static void w83627hf_init_client(struct i2c_client *client);
 
 static struct i2c_driver w83627hf_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "w83627hf",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "w83627hf",
+       },
        .attach_adapter = w83627hf_detect,
        .detach_client  = w83627hf_detach_client,
 };
                address = force_addr & WINB_ALIGNMENT;
 
        if (!request_region(address + WINB_REGION_OFFSET, WINB_REGION_SIZE,
-                           w83627hf_driver.name)) {
+                           w83627hf_driver.driver.name)) {
                err = -EBUSY;
                goto ERROR0;
        }
 
 static void w83781d_init_client(struct i2c_client *client);
 
 static struct i2c_driver w83781d_driver = {
-       .owner = THIS_MODULE,
-       .name = "w83781d",
+       .driver = {
+               .owner = THIS_MODULE,
+               .name = "w83781d",
+       },
        .id = I2C_DRIVERID_W83781D,
        .attach_adapter = w83781d_attach_adapter,
        .detach_client = w83781d_detach_client,
 };
 
 static struct i2c_driver w83781d_isa_driver = {
-       .owner = THIS_MODULE,
-       .name = "w83781d-isa",
+       .driver = {
+               .owner = THIS_MODULE,
+               .name = "w83781d-isa",
+       },
        .attach_adapter = w83781d_isa_attach_adapter,
        .detach_client = w83781d_detach_client,
 };
        
        if (is_isa)
                if (!request_region(address, W83781D_EXTENT,
-                                   w83781d_isa_driver.name)) {
+                                   w83781d_isa_driver.driver.name)) {
                        dev_dbg(&adapter->dev, "Request of region "
                                "0x%x-0x%x for w83781d failed\n", address,
                                address + W83781D_EXTENT - 1);
 
 static void w83792d_init_client(struct i2c_client *client);
 
 static struct i2c_driver w83792d_driver = {
-       .owner = THIS_MODULE,
-       .name = "w83792d",
+       .driver = {
+               .owner = THIS_MODULE,
+               .name = "w83792d",
+       },
        .attach_adapter = w83792d_attach_adapter,
        .detach_client = w83792d_detach_client,
 };
 
  */
  
 static struct i2c_driver w83l785ts_driver = {
-       .owner          = THIS_MODULE,
-       .name           = "w83l785ts",
+       .driver = {
+               .owner  = THIS_MODULE,
+               .name   = "w83l785ts",
+       },
        .id             = I2C_DRIVERID_W83L785TS,
        .attach_adapter = w83l785ts_attach_adapter,
        .detach_client  = w83l785ts_detach_client,