[PATCH v2 0/3] gpio: mpsse: add support for bryx brik

Mary Strodl posted 3 patches 1 week, 1 day ago
drivers/gpio/gpio-mpsse.c | 239 ++++++++++++++++++++++++++++++++++++--
1 file changed, 227 insertions(+), 12 deletions(-)
[PATCH v2 0/3] gpio: mpsse: add support for bryx brik
Posted by Mary Strodl 1 week, 1 day ago
Hey all,

This series adds support for the Bryx Radio Interface Kit to the gpio-mpsse
driver

Here are some of the major differences compared to the sealevel device this
driver currently supports:
* Uses an FT232HL chip instead of FT2232HL (this is easy, just populates as
  only one interface rather than two)
* There are only two exposed GPIO lines, and each is hardware restricted to
  a particular direction.
* This is an external device, therefore hotpluggable. This caused me to
  discover the race condition in the polling worker teradown, which
  accounts for the bulk of the changes.

The RCU change probably should be backported even though the actual device
isn't hotpluggable. If this isn't the right avenue for introducing those
fixes and it should be sent as a separate patch first, let me know and it
can be structured that way instead.

Other than the RCU changes, this series also adds a generic "quirk" system
like I have seen in similar drivers for providing device-specific line
labels and direction restrictions. This should enable easier integration of
new devices in the future.

Lastly, I changed the device label format to expose useful device
information like the device serial number, vid, and pid to userspace. If
there is a better way to get this information (perhaps through udev?), I'm
all ears.

Changes since v1:
* Break out into separate patches
* Fix RCU/concurrency soundness mistakes I noticed (list add/del were not
  protected by a lock, so now there is a separate spin lock, which we can
  use in irq context)
* Use guards for rcu read locks

Let me know what you think!

Mary Strodl (3):
  gpio: mpsse: use rcu to ensure worker is torn down
  gpio: mpsse: add quirk support
  gpio: mpsse: support bryx radio interface kit

 drivers/gpio/gpio-mpsse.c | 239 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 227 insertions(+), 12 deletions(-)

-- 
2.47.0