summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/eeprom/at24.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index 89b610ac22d3..90adca1251cc 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -523,6 +523,7 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
struct device *dev = &client->dev;
unsigned int i, num_addresses;
struct at24_data *at24;
+ size_t at24_size;
bool writable;
u8 test_byte;
int err;
@@ -576,8 +577,8 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
regmap_config.reg_bits = (pdata.flags & AT24_FLAG_ADDR16) ? 16 : 8;
regmap_config.disable_locking = true;
- at24 = devm_kzalloc(dev, sizeof(struct at24_data) + num_addresses *
- sizeof(struct at24_client), GFP_KERNEL);
+ at24_size = sizeof(*at24) + num_addresses * sizeof(struct at24_client);
+ at24 = devm_kzalloc(dev, at24_size, GFP_KERNEL);
if (!at24)
return -ENOMEM;