On Wed, Feb 13, 2019 at 2:34 PM Matti Vaittinen
<matti.vaitti...@fi.rohmeurope.com> wrote:

> ROHM BD70528 PMIC has 4 GPIO pins. Allow them to be
> controlled by GPIO framework.
>
> IRQs are handled by regmap-irq and GPIO driver is not
> aware of the irq usage.
>
> Signed-off-by: Matti Vaittinen <matti.vaitti...@fi.rohmeurope.com>
> Reviewed-by: Linus Walleij <linus.wall...@linaro.org>

(...)

Just spotted this:

> +#include <linux/gpio/driver.h>
> +#include <linux/gpio.h>

A driver should only need <linux/gpio/driver.h>
the <linux/gpio.h> should not be used at all in new code,
it is a legacy header.

> +static int bd70528_gpio_set_config(struct gpio_chip *chip, unsigned int 
> offset,
> +                                  unsigned long config)
> +{
> +       struct bd70528_gpio *bdgpio = gpiochip_get_data(chip);
> +
> +       switch (pinconf_to_config_param(config)) {
> +       case PIN_CONFIG_DRIVE_OPEN_DRAIN:
> +               return regmap_update_bits(bdgpio->chip.regmap,
> +                                         GPIO_OUT_REG(offset),
> +                                         BD70528_GPIO_DRIVE_MASK,
> +                                         BD70528_GPIO_OPEN_DRAIN);
> +               break;
> +       case PIN_CONFIG_DRIVE_PUSH_PULL:
> +               return regmap_update_bits(bdgpio->chip.regmap,
> +                                         GPIO_OUT_REG(offset),
> +                                         BD70528_GPIO_DRIVE_MASK,
> +                                         BD70528_GPIO_PUSH_PULL);
> +               break;
> +       case PIN_CONFIG_INPUT_DEBOUNCE:
> +               return bd70528_set_debounce(bdgpio, offset,
> +                                           
> pinconf_to_config_argument(config));
> +               break;
> +       default:
> +               break;
> +       }
> +       return -ENOTSUPP;
> +}

BTW I just merged code from Thomas Petazzoni that make it possible to
also support pull-up and pull-down from GPIO here if you want to enable
it.

Yours,
Linus Walleij

Reply via email to