From: Rosen Penev Date: Fri, 4 Oct 2024 20:20:13 +0000 (-0700) Subject: ath79: gpio-rb91x-key: use devm for mutex_init X-Git-Tag: v24.10.0-rc1~452 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=084665698b113811c8c9017631068dc3e452efa4;p=openwrt%2Fopenwrt.git ath79: gpio-rb91x-key: use devm for mutex_init mutex_destroy is not called in any error paths or in _remove. Just use devm to do so. Removed a pointless platform_set_devdata call. Not needed with all of the devm conversions. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16630 Signed-off-by: Robert Marko --- diff --git a/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c b/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c index 4b21c93469..b2c8e63305 100644 --- a/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c +++ b/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c @@ -144,13 +144,19 @@ static int gpio_rb91x_key_probe(struct platform_device *pdev) struct gpio_rb91x_key *drvdata; struct gpio_chip *gc; struct device *dev = &pdev->dev; + int err; drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL); if (!drvdata) return -ENOMEM; - mutex_init(&drvdata->mutex); - mutex_init(&drvdata->poll_mutex); + err = devm_mutex_init(dev, &drvdata->mutex); + if (err) + return err; + + err = devm_mutex_init(dev, &drvdata->poll_mutex); + if (err) + return err; drvdata->gpio = devm_gpiod_get(dev, NULL, GPIOD_OUT_LOW); if (IS_ERR(drvdata->gpio)) @@ -167,8 +173,6 @@ static int gpio_rb91x_key_probe(struct platform_device *pdev) gc->direction_output = gpio_rb91x_key_direction_output; gc->direction_input = gpio_rb91x_key_direction_input; - platform_set_drvdata(pdev, drvdata); - return devm_gpiochip_add_data(dev, gc, drvdata); }