Thread (17 messages) 17 messages, 6 authors, 2021-03-01

Re: [PATCH 4/5] HID: apple-ibridge: Add Apple iBridge HID driver for T1 chip.

From: Andy Shevchenko <hidden>
Date: 2021-03-01 14:15:14
Also in: linux-iio, linux-input

On Sun, Feb 28, 2021 at 3:30 AM Ronald Tschalär [off-list ref] wrote:
The iBridge device provides access to several devices, including:
- the Touch Bar
- the iSight webcam
- the light sensor
- the fingerprint sensor

This driver provides the core support for managing the iBridge device
and the access to the underlying devices. In particular, the
functionality for the touch bar and light sensor is exposed via USB HID
interfaces, and on devices with the T1 chip one of the HID devices is
used for both functions. So this driver creates virtual HID devices, one
per top-level report collection on each HID device (for a total of 3
virtual HID devices). The sub-drivers then bind to these virtual HID
devices.

This way the Touch Bar and ALS drivers can be kept in their own modules,
while at the same time making them look very much like as if they were
connected to the real HID devices. And those drivers then work (mostly)
without further changes on MacBooks with the T2 chip that don't need
this driver.
Thanks for the contribution.
Before I'll do a full review, two concerns:
 - don't do ACPI drivers, please, in the new code. Use platform driver
infrastructure for that
 - dependencies (see below)

...
+config HID_APPLE_IBRIDGE
+       tristate "Apple iBridge"
+       depends on ACPI
+       depends on USB_HID
+       depends on X86 || COMPILE_TEST
I haven't found anything ACPI specific there, so this should be rather

depends on (X86 && ACPI) || COMPILE_TEST
+       imply HID_SENSOR_HUB
+       imply HID_SENSOR_ALS
+       help
+         This module provides the core support for the Apple T1 chip found
+         on 2016 and 2017 MacBookPro's, also known as the iBridge. The drivers
+         for the Touch Bar (apple-touchbar) and light sensor (hid-sensor-hub
+         and hid-sensor-als) need to be enabled separately.
+
+         To compile this driver as a module, choose M here: the
+         module will be called apple-ibridge.
-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help