]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/extcon/extcon-gpio.c
extcon: gpio: Request gpio pin before modifying its state
[linux-beck.git] / drivers / extcon / extcon-gpio.c
index 7e0dff58e4943e8b1b09a44c4adba854898cda9d..4736a9c57efa05aef4146b87c7c953557c2a769b 100644 (file)
@@ -105,6 +105,12 @@ static int gpio_extcon_probe(struct platform_device *pdev)
        extcon_data->state_off = pdata->state_off;
        if (pdata->state_on && pdata->state_off)
                extcon_data->edev.print_state = extcon_gpio_print_state;
+
+       ret = devm_gpio_request_one(&pdev->dev, extcon_data->gpio, GPIOF_DIR_IN,
+                                   pdev->name);
+       if (ret < 0)
+               return ret;
+
        if (pdata->debounce) {
                ret = gpio_set_debounce(extcon_data->gpio,
                                        pdata->debounce * 1000);
@@ -117,11 +123,6 @@ static int gpio_extcon_probe(struct platform_device *pdev)
        if (ret < 0)
                return ret;
 
-       ret = devm_gpio_request_one(&pdev->dev, extcon_data->gpio, GPIOF_DIR_IN,
-                                   pdev->name);
-       if (ret < 0)
-               goto err;
-
        INIT_DELAYED_WORK(&extcon_data->work, gpio_extcon_work);
 
        extcon_data->irq = gpio_to_irq(extcon_data->gpio);