platform/x86: lenovo-yogabook: Simplify gpio lookup table cleanup
authorHans de Goede <hdegoede@redhat.com>
Sun, 30 Apr 2023 16:57:53 +0000 (18:57 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 9 May 2023 10:29:50 +0000 (12:29 +0200)
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: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230430165807.472798-6-hdegoede@redhat.com
drivers/platform/x86/lenovo-yogabook-wmi.c

index d57fcc8..0b49c7a 100644 (file)
@@ -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");