]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/gpio/gpio-dln2.c
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
[mirror_ubuntu-bionic-kernel.git] / drivers / gpio / gpio-dln2.c
index 5d38b08d1ee25f01316ade4f2aa5364385ed3da7..aecb847166f537778d00ec7fe1df297b22d912eb 100644 (file)
@@ -272,12 +272,16 @@ static int dln2_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
        return dln2_gpio_set_direction(chip, offset, DLN2_GPIO_DIRECTION_OUT);
 }
 
-static int dln2_gpio_set_debounce(struct gpio_chip *chip, unsigned offset,
-                                 unsigned debounce)
+static int dln2_gpio_set_config(struct gpio_chip *chip, unsigned offset,
+                               unsigned long config)
 {
        struct dln2_gpio *dln2 = gpiochip_get_data(chip);
-       __le32 duration = cpu_to_le32(debounce);
+       __le32 duration;
 
+       if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE)
+               return -ENOTSUPP;
+
+       duration = cpu_to_le32(pinconf_to_config_argument(config));
        return dln2_transfer_tx(dln2->pdev, DLN2_GPIO_SET_DEBOUNCE,
                                &duration, sizeof(duration));
 }
@@ -474,7 +478,7 @@ static int dln2_gpio_probe(struct platform_device *pdev)
        dln2->gpio.get_direction = dln2_gpio_get_direction;
        dln2->gpio.direction_input = dln2_gpio_direction_input;
        dln2->gpio.direction_output = dln2_gpio_direction_output;
-       dln2->gpio.set_debounce = dln2_gpio_set_debounce;
+       dln2->gpio.set_config = dln2_gpio_set_config;
 
        platform_set_drvdata(pdev, dln2);