ath79: gpio-rb91x-key: use devm for mutex_init
authorRosen Penev <rosenp@gmail.com>
Fri, 4 Oct 2024 20:20:13 +0000 (13:20 -0700)
committerRobert Marko <robimarko@gmail.com>
Tue, 8 Oct 2024 17:35:56 +0000 (19:35 +0200)
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 <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16630
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c

index 4b21c93469f2078d057cfc72accc85590134ed84..b2c8e633051f52671bf6bb01631590be3d036951 100644 (file)
@@ -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);
 }