Commit 57e0e718 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski
Browse files

gpio: max730x: use devres to shrink and simplify code



Use managed variants of gpiochip_add_data() and mutex_init() to drop a
label and lose a couple LOC.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20241017121447.73754-1-brgl@bgdev.pl


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 68d51a02
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -165,7 +165,10 @@ int __max730x_probe(struct max7301 *ts)

	pdata = dev_get_platdata(dev);

	mutex_init(&ts->lock);
	ret = devm_mutex_init(ts->dev, &ts->lock);
	if (ret)
		return ret;

	dev_set_drvdata(dev, ts);

	/* Power up the chip and disable IRQ output */
@@ -206,17 +209,11 @@ int __max730x_probe(struct max7301 *ts)
			int offset = (i - 1) * 4 + j;
			ret = max7301_direction_input(&ts->chip, offset);
			if (ret)
				goto exit_destroy;
				return ret;
		}
	}

	ret = gpiochip_add_data(&ts->chip, ts);
	if (!ret)
		return ret;

exit_destroy:
	mutex_destroy(&ts->lock);
	return ret;
	return devm_gpiochip_add_data(ts->dev, &ts->chip, ts);
}
EXPORT_SYMBOL_GPL(__max730x_probe);

@@ -226,8 +223,6 @@ void __max730x_remove(struct device *dev)

	/* Power down the chip and disable IRQ output */
	ts->write(dev, 0x04, 0x00);
	gpiochip_remove(&ts->chip);
	mutex_destroy(&ts->lock);
}
EXPORT_SYMBOL_GPL(__max730x_remove);