All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
To: Kent Gibson <warthog618@gmail.com>
Cc: linux-gpio <linux-gpio@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bamvor Jian Zhang <bamv2005@gmail.com>,
	Drew Fustini <drew@pdp7.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v6 0/7] gpio: expose line bias flags to userspace
Date: Tue, 5 Nov 2019 16:05:16 +0100	[thread overview]
Message-ID: <CAMpxmJW0ZDUAn3WMTYaRrZZj71f6NV+-nxsZ=JS3rF_8bkXTuQ@mail.gmail.com> (raw)
In-Reply-To: <20191105020429.18942-1-warthog618@gmail.com>

wt., 5 lis 2019 o 03:04 Kent Gibson <warthog618@gmail.com> napisał(a):
>
> The changes from v5:
>   - rebased onto Bart's gpio/for-kent branch.
>
> The changes from v4:
> Review changes:
>  - relocate restriction on applying bias to as-is from patch 2 to patch 1.
>  - propagate errors, other than ENOTSUPP, from gpio_set_bias. (squashed
>    into patches 3 and 4).
>  - include SET_CONFIG patch series v2 (patch 6 and 7 here).
>
> I've also fixed a few other nits I noticed along the way:
>  - rework gpio_set_bias as flags are mutually exclusive.
>  - remove input flag required to set bias restriction from
>    lineevent_create as events are implicitly assumed inputs anyway.
>  - reorder patches to group gpiolib bias patches together before the
>    gpio-mockup changes.
>
>
> This series adds gross control of pull-up/pull-down to the GPIO uAPI.
> Gross control means enabling and disabling of bias functionality,
> not finer grained control such as setting biasing impedances.
>
> The support allows both input and output lines to have any one of the
> following biases applied as part of the line handle or event request:
>  0. As Is - bias is left alone.  This is the default for ABI compatibility.
>  1. Bias Disable - bias is explicitly disabled.
>  2. Pull Down - pull-down bias is enabled.
>  3. Pull Up - pull-up bias is enabled.
>
> The biases are set via three flags, BIAS_DISABLE, BIAS_PULL_DOWN
> and BIAS_PULL_UP.  These map directly to the similarly named
> pinctrl pin_config_param flags.
> As Is corresponds to none of the flags being set.
>
> The setting of biases on output lines may seem odd, but is to allow for
> utilisation of internal pull-up/pull-down on open drain and open source
> outputs, where supported in hardware.
>
> The series also adds the GPIOHANDLE_SET_CONFIG_IOCTL to the gpio chardev.
> The ioctl allows some of the configuration of a requested handle to be
> changed without having to release the line.
> The primary use case is the changing of direction for bi-directional
> lines.
>
> Patches are against Bart's gpio/for-kent branch[1].
>
> The patch has been successfully tested against gpio-mockup, and
> on a Raspberry Pi, in both cases using the feature/pud_set_config
> branch of my Go gpiod library[2], as well as with my feature/pud
> development branch of libgpiod[3].  Patch 7 has only been tested using
> my gpiod library as libgpiod has not yet been updated to support the
> SET_CONFIG ioctl.
>
> Patch 1 adds pull-up/pull-down support to line handle requests.
> Patch 2 adds pull-up/pull-down support to line event requests.
> Patch 3 adds support for disabling bias.
> Patch 4 adds support for setting bias on output lines.
> Patch 5 adds pull-up/down support to the gpio-mockup for uAPI testing.
> Patch 6 refactors the flag validation from linehandle_create.
> Patch 7 adds the SET_CONFIG ioctl.
>
> Drew Fustini (1):
>   gpio: expose pull-up/pull-down line flags to userspace
>
> Kent Gibson (6):
>   gpiolib: add support for pull up/down to lineevent_create
>   gpiolib: add support for disabling line bias
>   gpiolib: add support for biasing output lines
>   gpio: mockup: add set_config to support pull up/down
>   gpiolib: move validation of line handle flags into helper function
>   gpio: add new SET_CONFIG ioctl() to gpio chardev
>
>  drivers/gpio/gpio-mockup.c |  94 ++++++++++------
>  drivers/gpio/gpiolib.c     | 213 +++++++++++++++++++++++++++++++------
>  drivers/gpio/gpiolib.h     |   1 +
>  include/uapi/linux/gpio.h  |  24 +++++
>  4 files changed, 264 insertions(+), 68 deletions(-)
>
> --
> 2.23.0
>

Ok, all looks good now and since Linus already said he's fine with
this series, I'll take it through my tree for v5.5.

Thanks!
Bartosz

  parent reply	other threads:[~2019-11-05 15:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-05  2:04 [PATCH v6 0/7] gpio: expose line bias flags to userspace Kent Gibson
2019-11-05  2:04 ` [PATCH v6 1/7] gpio: expose pull-up/pull-down line " Kent Gibson
2019-11-05  2:04 ` [PATCH v6 2/7] gpiolib: add support for pull up/down to lineevent_create Kent Gibson
2019-11-05  2:04 ` [PATCH v6 3/7] gpiolib: add support for disabling line bias Kent Gibson
2019-11-05  2:04 ` [PATCH v6 4/7] gpiolib: add support for biasing output lines Kent Gibson
2019-11-06 19:39   ` Drew Fustini
2019-11-06 23:56     ` Kent Gibson
2019-11-05  2:04 ` [PATCH v6 5/7] gpio: mockup: add set_config to support pull up/down Kent Gibson
2019-11-05  2:04 ` [PATCH v6 6/7] gpiolib: move validation of line handle flags into helper function Kent Gibson
2019-11-05  2:04 ` [PATCH v6 7/7] gpio: add new SET_CONFIG ioctl() to gpio chardev Kent Gibson
2019-11-05 15:05 ` Bartosz Golaszewski [this message]
2019-11-07  8:10   ` [PATCH v6 0/7] gpio: expose line bias flags to userspace Linus Walleij
2019-11-05 15:26 ` Kent Gibson
2019-11-05 16:24   ` Bartosz Golaszewski
2019-11-05 21:07     ` Bartosz Golaszewski
2019-11-06  6:48       ` Kent Gibson
2019-11-06 13:59         ` Bartosz Golaszewski
2019-11-06 16:58           ` Kent Gibson
2019-11-06 17:06             ` Bartosz Golaszewski
2019-11-06 23:20               ` Kent Gibson
2019-11-07 10:39             ` Kent Gibson
2019-11-07 11:28               ` Bartosz Golaszewski
2019-11-07 12:18                 ` Kent Gibson
2019-11-05 23:15     ` Kent Gibson
2019-11-07 17:57 ` Bartosz Golaszewski
2020-04-15 14:03 ` boards to test gpio line bias flags? Drew Fustini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMpxmJW0ZDUAn3WMTYaRrZZj71f6NV+-nxsZ=JS3rF_8bkXTuQ@mail.gmail.com' \
    --to=bgolaszewski@baylibre.com \
    --cc=bamv2005@gmail.com \
    --cc=drew@pdp7.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=warthog618@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.