mbox series

[v4,armsoc/drivers/bus+gpio,0/5] Add Moxtet bus and GPIO over Moxtet bus

Message ID 20190307125251.724-1-marek.behun@nic.cz (mailing list archive)
Headers show
Series Add Moxtet bus and GPIO over Moxtet bus | expand

Message

Marek BehĂșn March 7, 2019, 12:52 p.m. UTC
Hello,

this is the fourth version of patches to support the Moxtet bus and
GPIOs over it. Moxtet is a Turris Mox specific tiny bus over SPI.

I know that merge window is now closed, but I am trying this anyway now, since
Documentation/process/2.Process.rst mentions that even when merge window is
closed, "An occasional exception is made for drivers for previously-unsupported
hardware; if they touch no in-tree code, they cannot cause regressions and
should be safe to add at any time."

These patches apply to current linux/master, linux-gpio/devel
and arm-soc/arm/drivers.

I would appreciate reviews for the changes I made. I removed the Acked-by,
since the changes in drivers/bus/moxtet.c are non-trivial.

Marek

Changes since v3:
  - added module_description file in /sys/bus/moxtet/devices/*/
  - moved debugging into debugfs:
    - removed input_value and output_value debug files from
      /sys/bus/moxtet/devices/*/
    - added input and output debug files to debugfs/moxtet
  - added support for interrupts into moxtet driver:
    Some modules send interrupt via a shared line for all modules.
    In addition to this, they also send interrupt information via the SPI
    shift register, so that the system can distinguish which modules exactly
    sent it and won't have to check all modules.
    This is also needed to fix some bugs when one module sent IRQ and then
    another module sent another IRQ before the first was handled by the system,
    but the handling was already in progress. Since the shared line is
    falling-edge, the second IRQ was never handled.
  - since moxtet driver is now also interrupt controller, device-tree binding
    documentation is also changed

Changes since v2:
  - addressed the issues in device tree documentation pointed by Rob Herring
  - cosmetic changes suggested by Linus Walleij
  - added sysfs ABI documentation for /sys/bus/moxtet/devices attribute files
    as suggested by Linus Walleij

Marek BehĂșn (5):
  bus: Add support for Moxtet bus
  dt-bindings: bus: Document moxtet bus binding
  bus: moxtet: Add sysfs and debugfs documentation
  drivers: gpio: Add support for GPIOs over Moxtet bus
  dt-bindings: gpio: Document GPIOs via Moxtet bus

 Documentation/ABI/testing/debugfs-moxtet      |  23 +
 .../ABI/testing/sysfs-bus-moxtet-devices      |  17 +
 .../devicetree/bindings/bus/moxtet.txt        |  44 +
 .../devicetree/bindings/gpio/gpio-moxtet.txt  |  18 +
 MAINTAINERS                                   |  12 +
 drivers/bus/Kconfig                           |  10 +
 drivers/bus/Makefile                          |   1 +
 drivers/bus/moxtet.c                          | 886 ++++++++++++++++++
 drivers/gpio/Kconfig                          |   9 +
 drivers/gpio/Makefile                         |   1 +
 drivers/gpio/gpio-moxtet.c                    | 179 ++++
 include/dt-bindings/bus/moxtet.h              |  16 +
 include/linux/moxtet.h                        | 109 +++
 13 files changed, 1325 insertions(+)
 create mode 100644 Documentation/ABI/testing/debugfs-moxtet
 create mode 100644 Documentation/ABI/testing/sysfs-bus-moxtet-devices
 create mode 100644 Documentation/devicetree/bindings/bus/moxtet.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-moxtet.txt
 create mode 100644 drivers/bus/moxtet.c
 create mode 100644 drivers/gpio/gpio-moxtet.c
 create mode 100644 include/dt-bindings/bus/moxtet.h
 create mode 100644 include/linux/moxtet.h