Commit 017ad809 authored by Hans de Goede's avatar Hans de Goede
Browse files

platform/x86: lenovo-yogabook: Simplify gpio lookup table cleanup



After the devm_gpiod_get("backside_hall_sw") call the gpio lookup table
is no longer necessary.

Remove it directly after this call instead using a devm reset-action
for this.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230430165807.472798-6-hdegoede@redhat.com
parent 9e6380d6
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -227,11 +227,6 @@ static struct gpiod_lookup_table yogabook_wmi_gpios = {
	},
};

static void yogabook_wmi_rm_gpio_lookup(void *unused)
{
	gpiod_remove_lookup_table(&yogabook_wmi_gpios);
}

static int yogabook_wmi_probe(struct wmi_device *wdev, const void *context)
{
	struct yogabook_wmi *data;
@@ -275,13 +270,9 @@ static int yogabook_wmi_probe(struct wmi_device *wdev, const void *context)
	}

	gpiod_add_lookup_table(&yogabook_wmi_gpios);
	data->backside_hall_gpio = devm_gpiod_get(&wdev->dev, "backside_hall_sw", GPIOD_IN);
	gpiod_remove_lookup_table(&yogabook_wmi_gpios);

	r = devm_add_action_or_reset(&wdev->dev, yogabook_wmi_rm_gpio_lookup, NULL);
	if (r)
		goto error_put_devs;

	data->backside_hall_gpio =
		devm_gpiod_get(&wdev->dev, "backside_hall_sw", GPIOD_IN);
	if (IS_ERR(data->backside_hall_gpio)) {
		r = PTR_ERR(data->backside_hall_gpio);
		dev_err_probe(&wdev->dev, r, "Getting backside_hall_sw GPIO\n");