From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
Joel Becker <jlbec@evilplan.org>, Christoph Hellwig <hch@lst.de>,
Kent Gibson <warthog618@gmail.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: [GIT PULL] configfs-based GPIO simulator for v5.16
Date: Thu, 4 Nov 2021 20:00:30 +0100 [thread overview]
Message-ID: <20211104190030.20660-1-brgl@bgdev.pl> (raw)
Linus,
A while ago I sent you a pull-request for the GPIO subsystem which, in addition
to regular GPIO updates, contained a new GPIO simulator module based on
configfs that we want to use to test the uAPI and its main user-space user -
libgpiod. The PR included changes to configfs itself in the form of an
implementation of the concept of committable items. The changes had been in
development for several months and the maintainers had been largely
unresponsive which made me send it directly to you eventually after gathering
some reviews on the linux-gpio mailing list. You then Cc'ed Al who raised some
concerns and the patches were pulled out.
A couple months have passed with a few more iterations and I still can't get
any meaningful reviews from the configfs maintainers (nor NAKs for that
matter). I decided to give it another try and send it to you directly again.
Since last time I've addressed issues raised by Al (to the best of my ability
anyway) and made sure all references are counted correctly (including error
paths) and all resources freed. This code has been tested a lot with
a development version of libgpiod. The branch I've tagged spent some time in
next too with a single issue reported and fixed.
Please consider pulling.
Best Regards,
Bartosz Golaszewski
The following changes since commit 519d81956ee277b4419c723adfb154603c2565ba:
Linux 5.15-rc6 (2021-10-17 20:00:13 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/gpio-sim-for-v5.16
for you to fetch changes up to 5065e08e4ef3c3fd0daf141f601de4b4d1af2333:
gpio: sim: fix missing unlock on error in gpio_sim_config_commit_item() (2021-10-30 17:10:47 +0200)
----------------------------------------------------------------
gpio simulator + configfs changes for v5.16
- implement committable items in configfs
- add sample code
- implement the GPIO simulator based on configfs committable items
- add tests
----------------------------------------------------------------
Bartosz Golaszewski (8):
configfs: increase the item name length
configfs: use (1UL << bit) for internal flags
configfs: implement committable items
samples: configfs: add a committable group
gpio: sim: new testing module
selftests: gpio: provide a helper for reading chip info
selftests: gpio: add a helper for reading GPIO line names
selftests: gpio: add test cases for gpio-sim
Wei Yongjun (1):
gpio: sim: fix missing unlock on error in gpio_sim_config_commit_item()
Documentation/admin-guide/gpio/gpio-sim.rst | 72 +++
Documentation/filesystems/configfs.rst | 6 +-
drivers/gpio/Kconfig | 8 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-sim.c | 884 ++++++++++++++++++++++++++
fs/configfs/configfs_internal.h | 22 +-
fs/configfs/dir.c | 276 +++++++-
include/linux/configfs.h | 3 +-
samples/configfs/configfs_sample.c | 153 +++++
tools/testing/selftests/gpio/.gitignore | 2 +
tools/testing/selftests/gpio/Makefile | 4 +-
tools/testing/selftests/gpio/config | 1 +
tools/testing/selftests/gpio/gpio-chip-info.c | 57 ++
tools/testing/selftests/gpio/gpio-line-name.c | 55 ++
tools/testing/selftests/gpio/gpio-sim.sh | 229 +++++++
15 files changed, 1750 insertions(+), 23 deletions(-)
create mode 100644 Documentation/admin-guide/gpio/gpio-sim.rst
create mode 100644 drivers/gpio/gpio-sim.c
create mode 100644 tools/testing/selftests/gpio/gpio-chip-info.c
create mode 100644 tools/testing/selftests/gpio/gpio-line-name.c
create mode 100755 tools/testing/selftests/gpio/gpio-sim.sh
next reply other threads:[~2021-11-04 19:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-04 19:00 Bartosz Golaszewski [this message]
2021-11-07 12:16 ` [GIT PULL] configfs-based GPIO simulator for v5.16 Linus Walleij
2021-11-07 12:36 ` Greg KH
2021-11-08 7:44 ` Christoph Hellwig
2021-11-08 8:45 ` Bartosz Golaszewski
2021-11-08 7:45 ` Christoph Hellwig
2021-11-12 14:46 ` Bartosz Golaszewski
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=20211104190030.20660-1-brgl@bgdev.pl \
--to=brgl@bgdev.pl \
--cc=andriy.shevchenko@linux.intel.com \
--cc=hch@lst.de \
--cc=jlbec@evilplan.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox