Re: [PATCH v3 3/5] gpio: syscon: Add support for a custom get operation

From: Bartosz Golaszewski
Date: Thu Oct 03 2019 - 04:24:35 EST


pt., 27 wrz 2019 o 12:04 Paul Kocialkowski
<paul.kocialkowski@xxxxxxxxxxx> napisaÅ(a):
>
> Some drivers might need a custom get operation to match custom
> behavior implemented in the set operation.
>
> Add plumbing for supporting that.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>
> ---
> drivers/gpio/gpio-syscon.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
> index 31f332074d7d..05c537ed73f1 100644
> --- a/drivers/gpio/gpio-syscon.c
> +++ b/drivers/gpio/gpio-syscon.c
> @@ -43,8 +43,9 @@ struct syscon_gpio_data {
> unsigned int bit_count;
> unsigned int dat_bit_offset;
> unsigned int dir_bit_offset;
> - void (*set)(struct gpio_chip *chip,
> - unsigned offset, int value);
> + int (*get)(struct gpio_chip *chip, unsigned offset);
> + void (*set)(struct gpio_chip *chip, unsigned offset,
> + int value);

Why did you change this line? Doesn't seem necessary and pollutes the history.

Bart

> };
>
> struct syscon_gpio_priv {
> @@ -252,7 +253,7 @@ static int syscon_gpio_probe(struct platform_device *pdev)
> priv->chip.label = dev_name(dev);
> priv->chip.base = -1;
> priv->chip.ngpio = priv->data->bit_count;
> - priv->chip.get = syscon_gpio_get;
> + priv->chip.get = priv->data->get ? : syscon_gpio_get;
> if (priv->data->flags & GPIO_SYSCON_FEAT_IN)
> priv->chip.direction_input = syscon_gpio_dir_in;
> if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) {
> --
> 2.23.0
>