[PATCH v6 0/2] Add Apple SPI keyboard and trackpad driver

From: Ronald TschalÃr
Date: Tue Apr 16 2019 - 06:27:05 EST

This changeset adds a driver for the SPI keyboard and trackpad on recent
MacBook's and MacBook Pro's. The driver has seen a fair amount of use
over the last 2 years (basically anybody running linux on these
machines), with only relatively small changes in the last year or so.
For those interested, the driver development has been hosted at
https://github.com/cb22/macbook12-spi-driver/ (as well as my clone at

The first patch fixes a problem during config. While it affects the drm
tree, Andrzej Hajda has given his ok for this patch to be taken via the
input tree because the second patch here depends on it.

The second patch contains the new applespi driver.

Changes in v6:
Applied all feedback from review by Andy Shevchenko:
- use memchr() and friends instead of hand-rolled loops
- minor code tweak
The full set of changes to applespi can be viewed at
https://github.com/roadrunner2/macbook12-spi-driver/ as individual
commits 36afd70..fa81d40 in the upstreaming-review branch.

Ronald TschalÃr (2):
drm/bridge: sil_sii8620: make remote control optional.
Input: add Apple SPI keyboard and trackpad driver.

drivers/gpu/drm/bridge/Kconfig | 3 +-
drivers/gpu/drm/bridge/sil-sii8620.c | 10 +-
drivers/input/keyboard/Kconfig | 15 +
drivers/input/keyboard/Makefile | 1 +
drivers/input/keyboard/applespi.c | 1975 +++++++++++++++++++++++
drivers/input/keyboard/applespi.h | 29 +
drivers/input/keyboard/applespi_trace.h | 94 ++
7 files changed, 2122 insertions(+), 5 deletions(-)
create mode 100644 drivers/input/keyboard/applespi.c
create mode 100644 drivers/input/keyboard/applespi.h
create mode 100644 drivers/input/keyboard/applespi_trace.h