[PATCH v2 00/10] Input: synaptics-rmi4: Synaptics RMI4 Driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is the v2 patch series which fixes the issues identified in the
previous patch series. This time the series is based on v4.4 since
I wanted to keep current. Moving to v4.4 only required a minor change to
hid-rmi.

Benjamin identified some general issues in the first patch series which I
have addressed. First, I changed how function handlers are registered. As
suggested I created a static array of function handlers and functions to
iterate through the array to register and unregister the handlers.
I export the various function handlers which are defined in the the
function drivers. It does simplify the registration of function handlers,
but having to export the function handlers still seems a bit awkward to me.
I'm open any ideas on a better way to do it.

Second, I removed interrupt handling in the rmi core and moved it into
the two transports which which need to handle irqs directly (i2c and spi).
The transport then calls rmi_process_interrupt_requests() when there is
RMI data to process. Either from the irq thread in i2c and spi or from
a callback in the case of HID and soon SMBus.

Third, I removed registration with the pm subsystem from rmi_core and
the function drivers. Instead, transport drivers can call
rmi_driver_suspend / _resume directly from their pm callbacks. The
rmi_driver suspend and resume function then call the suspend and resume
callbacks in the function drivers.

In addition I also made some changes to how logging is done and added
functionaliy to print the firmware id in F01. I also changed the names
of the driver from rmi to rmi4 to be a bit more specific based on Rob
Herring's suggestion on the device tree binding.

Thanks,
Andrew

Andrew Duggan (10):
  Input: synaptics-rmi4: Add support for Synaptics RMI4 devices
  Input: synaptics-rmi4: Add I2C transport driver
  Input: synaptics-rmi4: Add device tree support for RMI4 I2C devices
  Input: synaptics-rmi4: Add support for 2D sensors and F11
  Input: synaptics-rmi4: Add device tree support for 2d sensors and F11
  Input: synaptics-rmi4: Add support for F12
  Input: synaptics-rmi4: Add support for F30
  Input: synaptics-rmi4: Add SPI transport driver
  Input: synaptics-rmi4: Add device tree support to the SPI transport
    driver
  HID: rmi: Make hid-rmi a transport driver for synaptics-rmi4

 .../bindings/input/rmi4/rmi_2d_sensor.txt          |   56 +
 .../devicetree/bindings/input/rmi4/rmi_f01.txt     |   39 +
 .../devicetree/bindings/input/rmi4/rmi_i2c.txt     |   53 +
 .../devicetree/bindings/input/rmi4/rmi_spi.txt     |   57 +
 Documentation/devicetree/bindings/input/touch.txt  |    2 +
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 drivers/hid/Kconfig                                |    2 +-
 drivers/hid/hid-rmi.c                              |  919 ++------------
 drivers/input/Kconfig                              |    2 +
 drivers/input/Makefile                             |    2 +
 drivers/input/rmi4/Kconfig                         |   82 ++
 drivers/input/rmi4/Makefile                        |   13 +
 drivers/input/rmi4/rmi_2d_sensor.c                 |  329 +++++
 drivers/input/rmi4/rmi_2d_sensor.h                 |   87 ++
 drivers/input/rmi4/rmi_bus.c                       |  422 +++++++
 drivers/input/rmi4/rmi_bus.h                       |  185 +++
 drivers/input/rmi4/rmi_driver.c                    | 1052 +++++++++++++++
 drivers/input/rmi4/rmi_driver.h                    |  105 ++
 drivers/input/rmi4/rmi_f01.c                       |  625 +++++++++
 drivers/input/rmi4/rmi_f11.c                       | 1336 ++++++++++++++++++++
 drivers/input/rmi4/rmi_f12.c                       |  462 +++++++
 drivers/input/rmi4/rmi_f30.c                       |  408 ++++++
 drivers/input/rmi4/rmi_i2c.c                       |  395 ++++++
 drivers/input/rmi4/rmi_spi.c                       |  589 +++++++++
 include/linux/rmi.h                                |  363 ++++++
 include/uapi/linux/input.h                         |    1 +
 26 files changed, 6753 insertions(+), 834 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_f01.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_i2c.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_spi.txt
 create mode 100644 drivers/input/rmi4/Kconfig
 create mode 100644 drivers/input/rmi4/Makefile
 create mode 100644 drivers/input/rmi4/rmi_2d_sensor.c
 create mode 100644 drivers/input/rmi4/rmi_2d_sensor.h
 create mode 100644 drivers/input/rmi4/rmi_bus.c
 create mode 100644 drivers/input/rmi4/rmi_bus.h
 create mode 100644 drivers/input/rmi4/rmi_driver.c
 create mode 100644 drivers/input/rmi4/rmi_driver.h
 create mode 100644 drivers/input/rmi4/rmi_f01.c
 create mode 100644 drivers/input/rmi4/rmi_f11.c
 create mode 100644 drivers/input/rmi4/rmi_f12.c
 create mode 100644 drivers/input/rmi4/rmi_f30.c
 create mode 100644 drivers/input/rmi4/rmi_i2c.c
 create mode 100644 drivers/input/rmi4/rmi_spi.c
 create mode 100644 include/linux/rmi.h

-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux