diff options
Diffstat (limited to 'drivers/gpio/gpio-max7300.c')
| -rw-r--r-- | drivers/gpio/gpio-max7300.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-max7300.c b/drivers/gpio/gpio-max7300.c index a5ca0ab1b37..40ab6dfb602 100644 --- a/drivers/gpio/gpio-max7300.c +++ b/drivers/gpio/gpio-max7300.c @@ -31,7 +31,7 @@ static int max7300_i2c_read(struct device *dev, unsigned int reg) return i2c_smbus_read_byte_data(client, reg); } -static int __devinit max7300_probe(struct i2c_client *client, +static int max7300_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct max7301 *ts; @@ -41,7 +41,7 @@ static int __devinit max7300_probe(struct i2c_client *client, I2C_FUNC_SMBUS_BYTE_DATA)) return -EIO; - ts = kzalloc(sizeof(struct max7301), GFP_KERNEL); + ts = devm_kzalloc(&client->dev, sizeof(struct max7301), GFP_KERNEL); if (!ts) return -ENOMEM; @@ -50,12 +50,10 @@ static int __devinit max7300_probe(struct i2c_client *client, ts->dev = &client->dev; ret = __max730x_probe(ts); - if (ret) - kfree(ts); return ret; } -static int __devexit max7300_remove(struct i2c_client *client) +static int max7300_remove(struct i2c_client *client) { return __max730x_remove(&client->dev); } @@ -72,7 +70,7 @@ static struct i2c_driver max7300_driver = { .owner = THIS_MODULE, }, .probe = max7300_probe, - .remove = __devexit_p(max7300_remove), + .remove = max7300_remove, .id_table = max7300_id, }; |
