mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
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 <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16630 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
a35bfa68d3
commit
084665698b
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user