diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2012-09-05 10:40:51 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-09-07 23:01:43 +0200 |
commit | 72eac3020de35a2c3fd0d39a26399989a0a9392e (patch) | |
tree | a334304b36503fe1c88b267fc3be3d17bab30b9f /drivers/gpio/gpio-74x164.c | |
parent | ab3b8782618c046386b85ada5e0e789212f17cf8 (diff) | |
download | lwn-72eac3020de35a2c3fd0d39a26399989a0a9392e.tar.gz lwn-72eac3020de35a2c3fd0d39a26399989a0a9392e.zip |
gpio: 74x164: Use devm_kzalloc
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Florian Fainelli <florian@openwrt.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-74x164.c')
-rw-r--r-- | drivers/gpio/gpio-74x164.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 2975036c36b7..604b998b7b74 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -90,7 +90,7 @@ static int __devinit gen_74x164_probe(struct spi_device *spi) if (ret < 0) return ret; - chip = kzalloc(sizeof(*chip), GFP_KERNEL); + chip = devm_kzalloc(&spi->dev, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; @@ -125,7 +125,6 @@ static int __devinit gen_74x164_probe(struct spi_device *spi) exit_destroy: dev_set_drvdata(&spi->dev, NULL); mutex_destroy(&chip->lock); - kfree(chip); return ret; } @@ -141,10 +140,9 @@ static int __devexit gen_74x164_remove(struct spi_device *spi) dev_set_drvdata(&spi->dev, NULL); ret = gpiochip_remove(&chip->gpio_chip); - if (!ret) { + if (!ret) mutex_destroy(&chip->lock); - kfree(chip); - } else + else dev_err(&spi->dev, "Failed to remove the GPIO controller: %d\n", ret); |