diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpio/gpio-max732x.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c index 1e0467ce4c37..d4b51b163b03 100644 --- a/drivers/gpio/gpio-max732x.c +++ b/drivers/gpio/gpio-max732x.c | |||
@@ -589,7 +589,8 @@ static int max732x_probe(struct i2c_client *client, | |||
589 | return -EINVAL; | 589 | return -EINVAL; |
590 | } | 590 | } |
591 | 591 | ||
592 | chip = kzalloc(sizeof(struct max732x_chip), GFP_KERNEL); | 592 | chip = devm_kzalloc(&client->dev, sizeof(struct max732x_chip), |
593 | GFP_KERNEL); | ||
593 | if (chip == NULL) | 594 | if (chip == NULL) |
594 | return -ENOMEM; | 595 | return -ENOMEM; |
595 | chip->client = client; | 596 | chip->client = client; |
@@ -647,7 +648,6 @@ static int max732x_probe(struct i2c_client *client, | |||
647 | 648 | ||
648 | out_failed: | 649 | out_failed: |
649 | max732x_irq_teardown(chip); | 650 | max732x_irq_teardown(chip); |
650 | kfree(chip); | ||
651 | return ret; | 651 | return ret; |
652 | } | 652 | } |
653 | 653 | ||
@@ -680,7 +680,6 @@ static int max732x_remove(struct i2c_client *client) | |||
680 | if (chip->client_dummy) | 680 | if (chip->client_dummy) |
681 | i2c_unregister_device(chip->client_dummy); | 681 | i2c_unregister_device(chip->client_dummy); |
682 | 682 | ||
683 | kfree(chip); | ||
684 | return 0; | 683 | return 0; |
685 | } | 684 | } |
686 | 685 | ||