client structure, even though we cannot fill it completely yet.
           But it allows us to access adm1021_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct adm1021_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct adm1021_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto error0;
        }
-       memset(data, 0, sizeof(struct adm1021_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct adm1025_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct adm1025_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct adm1025_data));
 
        /* The common I2C client data is placed right before the
           ADM1025-specific data. */
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access adm1026_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct adm1026_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct adm1026_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
 
-       memset(data, 0, sizeof(struct adm1026_data));
-
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
        new_client->addr = address;
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct adm1031_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct adm1031_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct adm1031_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        int i, id, err;
        struct asb100_data *data = i2c_get_clientdata(new_client);
 
-       data->lm75[0] = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
+       data->lm75[0] = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
        if (!(data->lm75[0])) {
                err = -ENOMEM;
                goto ERROR_SC_0;
        }
-       memset(data->lm75[0], 0x00, sizeof(struct i2c_client));
 
-       data->lm75[1] = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
+       data->lm75[1] = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
        if (!(data->lm75[1])) {
                err = -ENOMEM;
                goto ERROR_SC_1;
        }
-       memset(data->lm75[1], 0x00, sizeof(struct i2c_client));
 
        id = i2c_adapter_id(adapter);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access asb100_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct asb100_data), GFP_KERNEL))) {
-               pr_debug("asb100.o: detect failed, kmalloc failed!\n");
+       if (!(data = kzalloc(sizeof(struct asb100_data), GFP_KERNEL))) {
+               pr_debug("asb100.o: detect failed, kzalloc failed!\n");
                err = -ENOMEM;
                goto ERROR0;
        }
-       memset(data, 0, sizeof(struct asb100_data));
 
        new_client = &data->client;
        init_MUTEX(&data->lock);
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct atxp1_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct atxp1_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
 
-       memset(data, 0, sizeof(struct atxp1_data));
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
 
        /* OK. For now, we presume we have a valid client. We now create the
           client structure, even though we cannot fill it completely yet.
           But it allows us to access ds1621_{read,write}_value. */
-       if (!(data = kmalloc(sizeof(struct ds1621_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct ds1621_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct ds1621_data));
        
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        /* OK. For now, we presume we have a valid client. We now create the
         * client structure, even though we cannot fill it completely yet.
         * But it allows us to access i2c_smbus_read_byte_data. */
-       if (!(data = kmalloc(sizeof(struct fscher_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct fscher_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct fscher_data));
 
        /* The common I2C client data is placed right before the
         * Hermes-specific data. */
 
         * But it allows us to access fscpos_{read,write}_value.
         */
 
-       if (!(data = kmalloc(sizeof(struct fscpos_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct fscpos_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct fscpos_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access gl518_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct gl518_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct gl518_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct gl518_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access gl520_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct gl520_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct gl520_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct gl520_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access it87_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct it87_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct it87_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR1;
        }
-       memset(data, 0, sizeof(struct it87_data));
 
        new_client = &data->client;
        if (is_isa)
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct lm63_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm63_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm63_data));
 
        /* The common I2C client data is placed right before the
           LM63-specific data. */
 
        /* OK. For now, we presume we have a valid client. We now create the
           client structure, even though we cannot fill it completely yet.
           But it allows us to access lm75_{read,write}_value. */
-       if (!(data = kmalloc(sizeof(struct lm75_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm75_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm75_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        /* OK. For now, we presume we have a valid client. We now create the
           client structure, even though we cannot fill it completely yet.
           But it allows us to access lm77_{read,write}_value. */
-       if (!(data = kmalloc(sizeof(struct lm77_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm77_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm77_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access lm78_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct lm78_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm78_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR1;
        }
-       memset(data, 0, sizeof(struct lm78_data));
 
        new_client = &data->client;
        if (is_isa)
 
        /* OK. For now, we presume we have a valid client. We now create the
           client structure, even though we cannot fill it completely yet.
           But it allows us to access lm80_{read,write}_value. */
-       if (!(data = kmalloc(sizeof(struct lm80_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm80_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm80_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct lm83_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm83_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm83_data));
 
        /* The common I2C client data is placed right after the
         * LM83-specific data. */
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access lm85_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct lm85_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm85_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR0;
        }
-       memset(data, 0, sizeof(struct lm85_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct lm87_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm87_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm87_data));
 
        /* The common I2C client data is placed right before the
           LM87-specific data. */
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct lm90_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm90_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm90_data));
 
        /* The common I2C client data is placed right before the
           LM90-specific data. */
 
                                            | I2C_FUNC_SMBUS_WORD_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct lm92_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct lm92_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct lm92_data));
 
        /* Fill in enough client fields so that we can read from the chip,
           which is required for identication */
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct max1619_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct max1619_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct max1619_data));
 
        /* The common I2C client data is placed right before the
           MAX1619-specific data. */
 
        const char *name = "pc87360";
        int use_thermistors = 0;
 
-       if (!(data = kmalloc(sizeof(struct pc87360_data), GFP_KERNEL)))
+       if (!(data = kzalloc(sizeof(struct pc87360_data), GFP_KERNEL)))
                return -ENOMEM;
-       memset(data, 0x00, sizeof(struct pc87360_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
                        goto exit_release;
        }
 
-       if (!(data = kmalloc(sizeof(struct sis5595_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct sis5595_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit_release;
        }
-       memset(data, 0, sizeof(struct sis5595_data));
 
        new_client = &data->client;
        new_client->addr = address;
 
                return -EBUSY;
        }
 
-       if (!(data = kmalloc(sizeof(struct smsc47b397_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct smsc47b397_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto error_release;
        }
-       memset(data, 0x00, sizeof(struct smsc47b397_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
                return -EBUSY;
        }
 
-       if (!(data = kmalloc(sizeof(struct smsc47m1_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct smsc47m1_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto error_release;
        }
-       memset(data, 0x00, sizeof(struct smsc47m1_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
                return -ENODEV;
        }
 
-       if (!(data = kmalloc(sizeof(struct via686a_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct via686a_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit_release;
        }
-       memset(data, 0, sizeof(struct via686a_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
                goto exit;
        }
 
-       if (!(data = kmalloc(sizeof(struct w83627ehf_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct w83627ehf_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit_release;
        }
-       memset(data, 0, sizeof(struct w83627ehf_data));
 
        client = &data->client;
        i2c_set_clientdata(client, data);
 
           client structure, even though we cannot fill it completely yet.
           But it allows us to access w83627hf_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct w83627hf_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct w83627hf_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR1;
        }
-       memset(data, 0, sizeof(struct w83627hf_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        const char *client_name = "";
        struct w83781d_data *data = i2c_get_clientdata(new_client);
 
-       data->lm75[0] = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
+       data->lm75[0] = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
        if (!(data->lm75[0])) {
                err = -ENOMEM;
                goto ERROR_SC_0;
        }
-       memset(data->lm75[0], 0x00, sizeof (struct i2c_client));
 
        id = i2c_adapter_id(adapter);
 
        }
 
        if (kind != w83783s) {
-
-               data->lm75[1] = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
+               data->lm75[1] = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
                if (!(data->lm75[1])) {
                        err = -ENOMEM;
                        goto ERROR_SC_1;
                }
-               memset(data->lm75[1], 0x0, sizeof(struct i2c_client));
 
                if (force_subclients[0] == id &&
                    force_subclients[1] == address) {
           client structure, even though we cannot fill it completely yet.
           But it allows us to access w83781d_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct w83781d_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct w83781d_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR1;
        }
-       memset(data, 0, sizeof(struct w83781d_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        int err;
        struct i2c_client *sub_client;
 
-       (*sub_cli) = sub_client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
+       (*sub_cli) = sub_client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
        if (!(sub_client)) {
                return -ENOMEM;
        }
-       memset(sub_client, 0x00, sizeof(struct i2c_client));
        sub_client->addr = 0x48 + addr;
        i2c_set_clientdata(sub_client, NULL);
        sub_client->adapter = adapter;
           client structure, even though we cannot fill it completely yet.
           But it allows us to access w83792d_{read,write}_value. */
 
-       if (!(data = kmalloc(sizeof(struct w83792d_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct w83792d_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto ERROR0;
        }
-       memset(data, 0, sizeof(struct w83792d_data));
 
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                goto exit;
 
-       if (!(data = kmalloc(sizeof(struct w83l785ts_data), GFP_KERNEL))) {
+       if (!(data = kzalloc(sizeof(struct w83l785ts_data), GFP_KERNEL))) {
                err = -ENOMEM;
                goto exit;
        }
-       memset(data, 0, sizeof(struct w83l785ts_data));
-
 
        /* The common I2C client data is placed right before the
         * W83L785TS-specific data. */