ention or mitigation including the wait in
release_line, the retries in assert_mock, the assert_mock in set_mock,
and the sleep in set_line
Kent Gibson (7):
selftests: gpio: rework and simplify test implementation
selftests: gpio: remove obsolete gpio-mockup-chardev.c
selftests:
Build restrictions related to the gpio-mockup-chardev helper are
no longer relevant so remove them.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
tools/testing/selftests/Makefile | 9 -
1 file changed, 9 deletions(-)
diff --git a/tools
broken
since the device created in the multiple gpiochip case was split into
separate devices.
Fixes: 8a39f597bcfd ("gpio: mockup: rework device probing")
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
tools/testing/selftests/gpio/Makefile
GPIO Makefile has been greatly simplified so remove references to lines
which no longer exist.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
tools/testing/selftests/kselftest_deps.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git
GPIO selftests have changed to new gpio-mockup-cdev helper, so remove
old gpio-mockup-chardev helper.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
.../selftests/gpio/gpio-mockup-chardev.c | 323 --
1 file changed, 323 deletions
Add a port to the GPIO uAPI v2 interface and make it the default.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
.../testing/selftests/gpio/gpio-mockup-cdev.c | 75 +--
tools/testing/selftests/gpio/gpio-mockup.sh | 11 ++-
2 files
GPIO CDEV is now optional and required for the selftests so add it to
the config.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
tools/testing/selftests/gpio/config | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/gpio/config
gpio-mockup-chardev helper has been obsoleted and removed, so also remove
the tools/gpio code that it, and nothing else, was using.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
Reviewed-by: Bartosz Golaszewski
---
tools/gpio/gpio-utils.c | 89
().
Fixed: 65cff7047640 ("gpiolib: cdev: support setting debounce")
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index 12b679ca552c..3551aaf5a361 100644
--- a/dr
On Thu, Jan 07, 2021 at 10:57:25AM +0800, Kent Gibson wrote:
> The GPIO mockup selftests are overly complicated with separate
> implementations of the tests for sysfs and cdev uAPI, and with the cdev
> implementation being dependent on tools/gpio and libmount.
>
> Rework the test
On Mon, Jan 18, 2021 at 08:21:09AM +1100, Stephen Rothwell wrote:
> Hi all,
>
> In commit
>
> ec6c3364b816 ("tools: gpio: fix %llu warning in gpio-watch.c")
>
> Fixes tag
>
> Fixes: commit 33f0c47b8fb4 ("tools: gpio: implement gpio-watch")
>
> has these problem(s):
>
> - leading word
o clarify and to be consistent with other
struct gpio_v2_line_info fields.
Fixes: 2cc522d3931b ("gpio: uapi: kernel-doc formatting improvements")
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/linux/
On Tue, Jan 19, 2021 at 11:37:46AM +0100, Bartosz Golaszewski wrote:
> On Tue, Jan 19, 2021 at 1:35 AM Kent Gibson wrote:
> >
> > On Mon, Jan 18, 2021 at 04:04:51PM +0100, Linus Walleij wrote:
> > > On Thu, Jan 7, 2021 at 3:58 AM Kent Gibson wrote:
> > >
On Tue, Jan 19, 2021 at 12:02:13PM +0100, Bartosz Golaszewski wrote:
> On Tue, Jan 19, 2021 at 11:59 AM Kent Gibson wrote:
> >
> > On Tue, Jan 19, 2021 at 11:37:46AM +0100, Bartosz Golaszewski wrote:
> > > On Tue, Jan 19, 2021 at 1:35 AM Kent Gibson wrote:
> > &g
ock in set_mock,
and the sleep in set_line
Kent Gibson (7):
selftests: gpio: rework and simplify test implementation
selftests: gpio: remove obsolete gpio-mockup-chardev.c
selftests: remove obsolete build restriction for gpio
selftests: remove obsolete gpio references from kselftest_deps
gpio-mockup-chardev helper has been obsoleted and removed, so also remove
the tools/gpio code that it, and nothing else, was using.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
tools/gpio/gpio-utils.c | 89 -
tools/gpio/gpio-utils.h | 6 ---
2
GPIO CDEV is now optional and required for the selftests so add it to
the config.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
tools/testing/selftests/gpio/config | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/gpio/config
b/tools/testing/selftests/gpio
Build restrictions related to the gpio-mockup-chardev helper are
no longer relevant so remove them.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
tools/testing/selftests/Makefile | 9 -
1 file changed, 9 deletions(-)
diff --git a/tools/testing/selftests/Makefile b/tools
broken
since the device created in the multiple gpiochip case was split into
separate devices.
Fixes: commit 8a39f597bcfd ("gpio: mockup: rework device probing")
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
tools/testing/selftests/gpio/Makefile | 26 +-
.../testing/self
GPIO Makefile has been greatly simplified so remove references to lines
which no longer exist.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
tools/testing/selftests/kselftest_deps.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tools/testing/selftests
Add a port to the GPIO uAPI v2 interface and make it the default.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
.../testing/selftests/gpio/gpio-mockup-cdev.c | 75 +--
tools/testing/selftests/gpio/gpio-mockup.sh | 11 ++-
2 files changed, 76 insertions(+), 10
GPIO selftests have changed to new gpio-mockup-cdev helper, so remove
old gpio-mockup-chardev helper.
Signed-off-by: Kent Gibson
Acked-by: Linus Walleij
---
.../selftests/gpio/gpio-mockup-chardev.c | 323 --
1 file changed, 323 deletions(-)
delete mode 100644 tools
Fix a couple of warnings that I ran across while testing selftest changes.
Sorry about the repetition in the checkin comments, but as the problem was
introduced to the two files separately it seemed more appropriate than
tying their history together.
Cheers,
Kent.
Kent Gibson (2):
tools: gpio
ent.offset, event.line_seqno,
|~~
| |
| __u64 {aka long unsigned int}
Replace the %llu with PRIu64 and cast the argument to uint64_t.
Fixes: commit 03fd11b03362 ("tools/gpio/gpio-event-mon: fix warning")
Signed-off-by: Kent Gibson
ment gpio-watch")
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-watch.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/gpio/gpio-watch.c b/tools/gpio/gpio-watch.c
index f229ec62301b..41e76d244192 100644
--- a/tools/gpio/gpio-watch.c
+++ b/tools/gpio/gpio-wa
On Mon, Jan 18, 2021 at 04:04:51PM +0100, Linus Walleij wrote:
> On Thu, Jan 7, 2021 at 3:58 AM Kent Gibson wrote:
>
> > selftests: gpio: rework and simplify test implementation
> > selftests: gpio: remove obsolete gpio-mockup-chardev.c
> > selftests: remove ob
On Mon, Oct 05, 2020 at 02:01:22PM +0300, Andy Shevchenko wrote:
> On Mon, Oct 5, 2020 at 10:07 AM Kent Gibson wrote:
> >
> > Clarify that a char array containing a string is considered 'empty' if
> > the first character is the null terminator. The remaining characters
On Tue, Aug 04, 2020 at 07:47:43PM +0200, Bartosz Golaszewski wrote:
> On Tue, Aug 4, 2020 at 1:01 AM Kent Gibson wrote:
> >
>
> [snip]
>
> >
> > > Also: I just started going through the patches - nice idea with the
> > > GPIO attributes, I really li
On Tue, Aug 04, 2020 at 07:42:34PM +0200, Bartosz Golaszewski wrote:
> On Sat, Jul 25, 2020 at 6:20 AM Kent Gibson wrote:
> >
> > Add a new version of the uAPI to address existing 32/64-bit alignment
> > issues, add support for debounce and event sequence numbers, and pr
On Wed, Aug 05, 2020 at 07:47:57PM +0200, Bartosz Golaszewski wrote:
> On Wed, Aug 5, 2020 at 7:19 AM Kent Gibson wrote:
> >
>
> [snip]
>
> > > >
> > > > +/*
> > > > + * Maximum number of requested lines.
> > > > + *
> >
On Wed, Aug 05, 2020 at 01:18:53PM +0800, Kent Gibson wrote:
> On Tue, Aug 04, 2020 at 07:42:34PM +0200, Bartosz Golaszewski wrote:
> > On Sat, Jul 25, 2020 at 6:20 AM Kent Gibson wrote:
[snip]
> > > config, info, info_changed and event structs receive updated versions,
&
On Fri, Oct 02, 2020 at 07:49:50AM +0200, Mauro Carvalho Chehab wrote:
> There's now a new ReST file. Add it to the index.rst file.
>
> Fixes: ce7a2f77f976 ("docs: gpio: Add GPIO Aggregator documentation")
Shouldn't that be:
Fixes: fd1abe99e5fb ("Documentation: gpio: add documentation for
is one
less than the array. This is consistent with the previous behaviour.
Suggested-by: Andy Shevchenko
Signed-off-by: Kent Gibson
---
The change to kstrndup() was suggested by Andy as part of the review of
the uAPI v2. This patch is my initial interpretion of that suggestion,
applied
that I've made along the way.
Hopefully nothing controversial - mainly formatting improvements,
and a couple of minor wording changes.
Cheers,
Kent.
Kent Gibson (5):
gpio: uapi: fix kernel-doc warnings
gpio: uapi: comment consistency
gpio: uapi: kernel-doc formatting improvements
gpio: uapi
Fix kernel-doc warnings, specifically gpioline_info_changed.padding is
not documented and 'GPIO event types' describes defines, which are not
documented by kernel-doc.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
Remove leading whitespace in ABI v1 comment.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index 32dd18f238c3..ad3f56dd87ec 100644
--- a/include/uapi/linux/gpio.h
Make debounce_period_us field documentation consistent with other fields
in the union.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index b0d5e7a1c693
Clarify that a char array containing a string is considered 'empty' if
the first character is the null terminator. The remaining characters
are not relevant to this determination.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions
Add kernel-doc formatting to all references to structs, enums, fields
and constants, and move deprecation warnings into the Note section of
the deprecated struct.
Replace 'OR:ed' with 'added', as the former looks odd.
Signed-off-by: Kent Gibson
---
The replacement of 'OR:ed' should strictly
and extension of v1, so userspace
code, particularly libgpiod, should readily port to it.
Signed-off-by: Kent Gibson
---
Changes since v2:
- relocated commentary into commit description
- hard limit max requested lines to 64 so bitmaps always fit in a single
u64.
- prefix all v2 symbols
Add a build option to allow the removal of the CDEV v1 ABI.
Suggested-by: Bartosz Golaszewski
Signed-off-by: Kent Gibson
---
This patch is before the v2 implementation, and is non-functional until
that patch, as some parts of that patch would be written slightly
differently if removing v1
Add support for requesting lines using the GPIO_V2_GET_LINE_IOCTL, and
returning their current values using GPIO_V2_LINE_GET_VALUES_IOCTL.
Signed-off-by: Kent Gibson
---
The struct line implementation is based on the v1 struct linehandle
implementation.
The line_ioctl() is a simple wrapper
into a separate series.
- split implementation patch into a patch for each ioctl or major feature.
- split tool port patch into a patch per tool.
- rework uAPI to allow requested lines with different configurations.
Kent Gibson (18):
gpio: uapi: define GPIO_MAX_NAME_SIZE for array sizes
gpio: uapi
Add support for GPIO_V2_GET_LINEINFO_IOCTL and
GPIO_V2_GET_LINEINFO_WATCH_IOCTL.
Signed-off-by: Kent Gibson
---
The core of this change is the event kfifo switching to contain
struct gpioline_info_changed_v2, instead of v1 as v2 is richer.
The two uAPI versions are mostly independent - other
Replace constant array sizes with a macro constant to clarify the source
of array sizes, provide a place to document any constraints on the size,
and to simplify array sizing in userspace if constructing structs
from their composite fields.
Signed-off-by: Kent Gibson
---
include/uapi/linux
Signed-off-by: Kent Gibson
---
drivers/gpio/Kconfig| 17 +++--
drivers/gpio/Makefile | 2 +-
drivers/gpio/gpiolib-cdev.h | 15 +++
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 8030fd91a3cc
Add support for setting debounce on a line via the GPIO uAPI.
Where debounce is not supported by hardware, a software debounce is
provided.
Signed-off-by: Kent Gibson
---
The implementation of the software debouncer waits for the line to be
stable for the debounce period before determining
Update uAPI documentation to deprecate v1 structs and ioctls.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 26 ++
1 file changed, 26 insertions(+)
diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index 82e8744b8c3b..286f5522378c 100644
Add support for edge detection to lines requested using
GPIO_V2_GET_LINE_IOCTL.
Signed-off-by: Kent Gibson
---
The edge_detector implementation is based on the v1 lineevent implementation.
drivers/gpio/gpiolib-cdev.c | 316 +++-
drivers/gpio/gpiolib.c
Port the lsgpio tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/lsgpio.c | 60 -
1 file changed, 38 insertions(+), 22 deletions(-)
diff --git a/tools/gpio/lsgpio.c b/tools/gpio/lsgpio.c
index b08d7a5e779b..deda38244026 100644
Rename nlines to num_lines to be consistent with other usage for fields
describing the number of entries in an array.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-hammer.c | 26 +-
tools/gpio/gpio-utils.c | 20 ++--
tools/gpio/gpio-utils.h | 6
Port the gpio-watch tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-watch.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/tools/gpio/gpio-watch.c b/tools/gpio/gpio-watch.c
index 5cea24fddfa7..6f048350a27e 100644
--- a/tools
Add support for GPIO_V2_LINE_SET_CONFIG_IOCTL, the uAPI v2
line set config ioctl.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 92 +
1 file changed, 92 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index
Add support for the GPIO_V2_LINE_SET_VALUES_IOCTL.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 67 +
1 file changed, 67 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index d34dad50a048..2f5cc835133c
Extend gpio-event-mon to support monitoring multiple lines.
This would require multiple lineevent requests to implement using uAPI v1,
but can be performed with a single line request using uAPI v2.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 45
Add support for debouncing monitored lines to gpio-event-mon.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 20 +---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/tools/gpio/gpio-event-mon.c b/tools/gpio/gpio-event-mon.c
index e50bb107ea3a
Port the gpio-event-mon tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 91 +++--
1 file changed, 47 insertions(+), 44 deletions(-)
diff --git a/tools/gpio/gpio-event-mon.c b/tools/gpio/gpio-event-mon.c
index
Port the gpio-hammer tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-hammer.c | 32 +++
tools/gpio/gpio-utils.c | 119 ++-
tools/gpio/gpio-utils.h | 50 +---
3 files changed, 128 insertions(+), 73 deletions
On Sun, Aug 09, 2020 at 09:25:16PM +0800, Kent Gibson wrote:
> Add support for requesting lines using the GPIO_V2_GET_LINE_IOCTL, and
> returning their current values using GPIO_V2_LINE_GET_VALUES_IOCTL.
>
> Signed-off-by: Kent Gibson
> ---
>
[snip]
> +static long line_g
On Wed, Oct 14, 2020 at 02:27:38PM +0800, Kent Gibson wrote:
> Using CLOCK_REALTIME as the source for event timestamps is crucial for
> some specific applications, particularly those requiring timetamps
> relative to a PTP clock, so provide an option to switch the event
> timestamp
Add support for selecting the realtime clock for events.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/gpio/gpio-event-mon.c b/tools/gpio/gpio-event-mon.c
index 90c3155f05b1..cacd66ad7926 100644
.
Suggested-by: Jack Winch
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 21 ++---
drivers/gpio/gpiolib.h | 1 +
include/uapi/linux/gpio.h | 12 +---
3 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers
to 32bits
on 32bit platforms.
- fix the line spacing after line_event_timestamp()
Kent Gibson (3):
gpiolib: cdev: allow edge event timestamps to be configured as
REALTIME
tools: gpio: add support for reporting realtime event clock to lsgpio
tools: gpio: add option to report wall-clock
Add support for reporting if a line is configured to report realtime
timestamps in events.
Signed-off-by: Kent Gibson
---
tools/gpio/lsgpio.c | 4
1 file changed, 4 insertions(+)
diff --git a/tools/gpio/lsgpio.c b/tools/gpio/lsgpio.c
index 5a05a454d0c9..c61d061247e1 100644
--- a/tools
On Wed, Oct 14, 2020 at 08:14:20PM +0300, Andy Shevchenko wrote:
> On Tue, Oct 13, 2020 at 7:34 PM Kent Gibson wrote:
> > On Tue, Oct 13, 2020 at 03:21:47PM +0200, Linus Walleij wrote:
> > > On Thu, Oct 8, 2020 at 5:46 PM Bartosz Golaszewski
> > > wrote:
>
> .
Port the gpio-hammer tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-hammer.c | 32 +++
tools/gpio/gpio-utils.c | 119 ++-
tools/gpio/gpio-utils.h | 50 +---
3 files changed, 128 insertions(+), 73 deletions
Rename nlines to num_lines to be consistent with other usage for fields
describing the number of entries in an array.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-hammer.c | 26 +-
tools/gpio/gpio-utils.c | 20 ++--
tools/gpio/gpio-utils.h | 6
Add support for debouncing monitored lines to gpio-event-mon.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 20 +---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/tools/gpio/gpio-event-mon.c b/tools/gpio/gpio-event-mon.c
index e50bb107ea3a
Port the gpio-event-mon tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 91 +++--
1 file changed, 47 insertions(+), 44 deletions(-)
diff --git a/tools/gpio/gpio-event-mon.c b/tools/gpio/gpio-event-mon.c
index
Port the gpio-watch tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-watch.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/tools/gpio/gpio-watch.c b/tools/gpio/gpio-watch.c
index 5cea24fddfa7..6f048350a27e 100644
--- a/tools
Extend gpio-event-mon to support monitoring multiple lines.
This would require multiple lineevent requests to implement using uAPI v1,
but can be performed with a single line request using uAPI v2.
Signed-off-by: Kent Gibson
---
tools/gpio/gpio-event-mon.c | 45
debounce to multiple monitored
lines
Changes for v2:
- split out cleanup patches into a separate series.
- split implementation patch into a patch for each ioctl or major feature.
- split tool port patch into a patch per tool.
- rework uAPI to allow requested lines with different configuratio
Replace constant array sizes with a macro constant to clarify the source
of array sizes, provide a place to document any constraints on the size,
and to simplify array sizing in userspace if constructing structs
from their composite fields.
Signed-off-by: Kent Gibson
---
include/uapi/linux
-by: Kent Gibson
---
The memset in gpio_desc_to_lineinfo(), in conjunction with the strscpy,
is necessary as strncpy zero pads the remainder of the destination.
It also guarantees that the info cannot leak kernel stack to userspace.
This is useful here, but is even more important for the v2 info
Set the value of the line info offset in desc_to_lineinfo, rather than
relying on it being passed in the info. This makes the function behave
as you would expect from the name - it generates the line info
corresponding to a given GPIO desc.
Signed-off-by: Kent Gibson
---
There are some
Update uAPI documentation to deprecate v1 structs and ioctls.
Signed-off-by: Kent Gibson
---
include/uapi/linux/gpio.h | 26 ++
1 file changed, 26 insertions(+)
diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index 0eb1f53b47e0..4af67415d73e 100644
Port the lsgpio tool to the latest GPIO uAPI.
Signed-off-by: Kent Gibson
---
tools/gpio/lsgpio.c | 60 -
1 file changed, 38 insertions(+), 22 deletions(-)
diff --git a/tools/gpio/lsgpio.c b/tools/gpio/lsgpio.c
index b08d7a5e779b..deda38244026 100644
with
edge detection enabled is a very unlikely use case, so it is preferable
to disallow it rather than complicate the code to allow it.
Should the user wish to alter the debounce value in such cases they will
need to release and re-request the line.
Signed-off-by: Kent Gibson
---
Changes for v5
Add support for the GPIO_V2_LINE_SET_VALUES_IOCTL.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 59 +
1 file changed, 59 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index 9c1e3f5f01af..3d2d9eefdfa0
Add support for GPIO_V2_LINE_SET_CONFIG_IOCTL, the uAPI v2
line set config ioctl.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 92 +
1 file changed, 92 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index
Add a build option to allow the removal of the CDEV v1 ABI.
Suggested-by: Bartosz Golaszewski
Signed-off-by: Kent Gibson
---
This patch is before the v2 implementation, and is non-functional until
that patch, as some parts of that patch would be written slightly
differently if removing v1
and extension of v1, so userspace
code, particularly libgpiod, should readily port to it.
Signed-off-by: Kent Gibson
---
Changes for v4:
- clarify bitmap width in GPIO_V2_LINES_MAX description
Changes for v3:
- relocated commentary into commit description
- hard limit max requested lines to 64
Add support for edge detection to lines requested using
GPIO_V2_GET_LINE_IOCTL.
The edge_detector implementation is based on the v1 lineevent
implementation.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 290 +++-
drivers/gpio/gpiolib.c | 2
info change struct to the read. The version supported
on that fd locks to that version on the first watch request, so subsequent
watches from that process must use the same uAPI version.
Signed-off-by: Kent Gibson
---
Changes for v5:
- as per cover letter
Changes for v4:
- replace strncpy
Signed-off-by: Kent Gibson
---
drivers/gpio/Kconfig| 17 +++--
drivers/gpio/Makefile | 2 +-
drivers/gpio/gpiolib-cdev.h | 15 +++
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 8030fd91a3cc
Add support for requesting lines using the GPIO_V2_GET_LINE_IOCTL, and
returning their current values using GPIO_V2_LINE_GET_VALUES_IOCTL.
The struct linereq implementation is based on the v1 struct linehandle
implementation.
Signed-off-by: Kent Gibson
---
The linereq_ioctl() is a simple
On Thu, Aug 27, 2020 at 06:02:03PM +0200, Bartosz Golaszewski wrote:
> On Thu, Aug 27, 2020 at 5:53 PM Linus Walleij
> wrote:
> >
> > On Thu, Aug 27, 2020 at 4:00 PM Kent Gibson wrote:
> >
> > > This patchset defines and implements a new version of the
> &g
On Tue, Aug 11, 2020 at 09:11:41PM +0200, Bartosz Golaszewski wrote:
> On Sun, Aug 9, 2020 at 3:26 PM Kent Gibson wrote:
> >
[snip]
> >
> > +/*
> > + * Maximum number of requested lines.
> > + *
> > + * Must be no greater than 64 as bitmaps are limited
On Sun, Aug 09, 2020 at 09:25:17PM +0800, Kent Gibson wrote:
> Add support for GPIO_V2_GET_LINEINFO_IOCTL and
> GPIO_V2_GET_LINEINFO_WATCH_IOCTL.
>
> Signed-off-by: Kent Gibson
> ---
>
[snip]
>
> if (copy_from_user(, ip, sizeof(lineinfo)))
>
.
- split implementation patch into a patch for each ioctl or major feature.
- split tool port patch into a patch per tool.
- rework uAPI to allow requested lines with different configurations.
Kent Gibson (20):
gpiolib: cdev: desc_to_lineinfo should set info offset
gpiolib: cdev: replace
Set the value of the line info offset in desc_to_lineinfo, rather than
relying on it being passed in the info. This makes the function behave
as you would expect from the name - it generates the line info
corresponding to a given GPIO desc.
Signed-off-by: Kent Gibson
---
There are some
Add a build option to allow the removal of the CDEV v1 ABI.
Suggested-by: Bartosz Golaszewski
Signed-off-by: Kent Gibson
---
This patch is before the v2 implementation, and is non-functional until
that patch, as some parts of that patch would be written slightly
differently if removing v1
Add support for requesting lines using the GPIO_V2_GET_LINE_IOCTL, and
returning their current values using GPIO_V2_LINE_GET_VALUES_IOCTL.
Signed-off-by: Kent Gibson
---
The struct line implementation is based on the v1 struct linehandle
implementation.
The line_ioctl() is a simple wrapper
Replace constant array sizes with a macro constant to clarify the source
of array sizes, provide a place to document any constraints on the size,
and to simplify array sizing in userspace if constructing structs
from their composite fields.
Signed-off-by: Kent Gibson
---
include/uapi/linux
Signed-off-by: Kent Gibson
---
drivers/gpio/Kconfig| 17 +++--
drivers/gpio/Makefile | 2 +-
drivers/gpio/gpiolib-cdev.h | 15 +++
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 8030fd91a3cc
and extension of v1, so userspace
code, particularly libgpiod, should readily port to it.
Signed-off-by: Kent Gibson
---
Changes for v4:
- clarify bitmap width in GPIO_V2_LINES_MAX description
Changes for v3:
- relocated commentary into commit description
- hard limit max requested lines to 64
-by: Kent Gibson
---
The memset in gpio_desc_to_lineinfo(), in conjunction with the strscpy,
is necessary as strncpy zeroed pads the remainder of the destination.
It is also guarantees that the info cannot contain kernel stack that could
get leaked to userspace. This is useful here, but is even more
Add support for GPIO_V2_GET_LINEINFO_IOCTL and
GPIO_V2_GET_LINEINFO_WATCH_IOCTL.
Signed-off-by: Kent Gibson
---
The core of this change is the event kfifo switching to contain
struct gpioline_info_changed_v2, instead of v1 as v2 is richer.
The two uAPI versions are mostly independent - other
Add support for edge detection to lines requested using
GPIO_V2_GET_LINE_IOCTL.
Signed-off-by: Kent Gibson
---
The edge_detector implementation is based on the v1 lineevent implementation.
drivers/gpio/gpiolib-cdev.c | 316 +++-
drivers/gpio/gpiolib.c
Add support for the GPIO_V2_LINE_SET_VALUES_IOCTL.
Signed-off-by: Kent Gibson
---
drivers/gpio/gpiolib-cdev.c | 67 +
1 file changed, 67 insertions(+)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index 04472c2b6678..de88b7a5ba0f
1 - 100 of 398 matches
Mail list logo