On Sun, Feb 28, 2021 at 3:30 AM Ronald Tschalär <ronald@xxxxxxxxxxxxx> 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