Message ID | 20201109205332.19592-9-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | gpiolib: acpi: pin configuration fixes | expand |
On Mon, Nov 09, 2020 at 10:53:23PM +0200, Andy Shevchenko wrote: > In some cases we would like to have debounce setter which doesn't fail > when feature is not supported by a controller. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/gpio/gpiolib.c | 7 +++++++ > drivers/gpio/gpiolib.h | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index 4558af08df23..9d23fbf1f7cd 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -2162,6 +2162,13 @@ static int gpio_set_bias(struct gpio_desc *desc) > return gpio_set_config_with_argument_optional(desc, bias, arg); > } > > +int gpio_set_debounce_timeout(struct gpio_desc *desc, unsigned int debounce) > +{ > + enum pin_config_param mode = PIN_CONFIG_PERSIST_STATE; > + > + return gpio_set_config_with_argument_optional(desc, mode, debounce); Again I think mode variable is pretty useless here and does not improve readability.
On Wed, Nov 11, 2020 at 5:40 PM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > On Mon, Nov 09, 2020 at 10:53:23PM +0200, Andy Shevchenko wrote: ... > Again I think mode variable is pretty useless here and does not improve > readability. You mean something like return gpio_set_config_with_argument_optional(desc, PIN_CONFIG_INPUT_DEBOUNCE, debounce); is better?
On Wed, Nov 11, 2020 at 05:46:55PM +0200, Andy Shevchenko wrote: > On Wed, Nov 11, 2020 at 5:40 PM Mika Westerberg > <mika.westerberg@linux.intel.com> wrote: > > On Mon, Nov 09, 2020 at 10:53:23PM +0200, Andy Shevchenko wrote: > > ... > > > Again I think mode variable is pretty useless here and does not improve > > readability. > > You mean something like > > return gpio_set_config_with_argument_optional(desc, > PIN_CONFIG_INPUT_DEBOUNCE, debounce); > > is better? Yes.
On Wed, Nov 11, 2020 at 5:54 PM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > On Wed, Nov 11, 2020 at 05:46:55PM +0200, Andy Shevchenko wrote: > > On Wed, Nov 11, 2020 at 5:40 PM Mika Westerberg > > <mika.westerberg@linux.intel.com> wrote: > > > On Mon, Nov 09, 2020 at 10:53:23PM +0200, Andy Shevchenko wrote: ... > > > Again I think mode variable is pretty useless here and does not improve > > > readability. > > > > You mean something like > > > > return gpio_set_config_with_argument_optional(desc, > > PIN_CONFIG_INPUT_DEBOUNCE, debounce); > > > > is better? Hmm... Not sure I can agree with this, but I can change.
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 4558af08df23..9d23fbf1f7cd 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2162,6 +2162,13 @@ static int gpio_set_bias(struct gpio_desc *desc) return gpio_set_config_with_argument_optional(desc, bias, arg); } +int gpio_set_debounce_timeout(struct gpio_desc *desc, unsigned int debounce) +{ + enum pin_config_param mode = PIN_CONFIG_PERSIST_STATE; + + return gpio_set_config_with_argument_optional(desc, mode, debounce); +} + /** * gpiod_direction_input - set the GPIO direction to input * @desc: GPIO to set to input diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h index 16bc5731673c..9b1a1c782704 100644 --- a/drivers/gpio/gpiolib.h +++ b/drivers/gpio/gpiolib.h @@ -136,6 +136,7 @@ int gpiod_request(struct gpio_desc *desc, const char *label); void gpiod_free(struct gpio_desc *desc); int gpiod_configure_flags(struct gpio_desc *desc, const char *con_id, unsigned long lflags, enum gpiod_flags dflags); +int gpio_set_debounce_timeout(struct gpio_desc *desc, unsigned int debounce); int gpiod_hog(struct gpio_desc *desc, const char *name, unsigned long lflags, enum gpiod_flags dflags);
In some cases we would like to have debounce setter which doesn't fail when feature is not supported by a controller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/gpio/gpiolib.c | 7 +++++++ drivers/gpio/gpiolib.h | 1 + 2 files changed, 8 insertions(+)