On Mon, Dec 09, 2024 at 07:35:55PM +0100, Hans de Goede wrote: > Various Dell laptops have an lis3lv02d freefall/accelerometer sensor. > The lis3lv02d chip has an interrupt line as well as an I2C connection to > the system's main SMBus. > > The lis3lv02d is described in the ACPI tables by an SMO88xx ACPI device, > but the SMO88xx ACPI fwnodes are incomplete and only list an IRQ resource. > > So far this has been worked around with some SMO88xx specific quirk code > in the generic i2c-i801 driver, but it is not necessary to handle the Dell > specific instantiation of i2c_client-s for SMO88xx ACPI devices there. > > The kernel already instantiates platform_device-s for these with an > acpi:SMO88xx modalias. The drivers/platform/x86/dell/dell-smo8800.c > driver binds to this platform device but this only deals with > the interrupt resource. Add a drivers/platform/x86/dell/dell-lis3lv02d.c > which will matches on the same acpi:SMO88xx modaliases and move > the i2c_client instantiation from the generic i2c-i801 driver there. > > Moving the i2c_client instantiation has the following advantages: > > 1. This moves the SMO88xx ACPI device quirk handling away from the generic > i2c-i801 module which is loaded on all Intel x86 machines to a module > which will only be loaded when there is an ACPI SMO88xx device. > > 2. This removes the duplication of the SMO88xx ACPI Hardware ID (HID) table > between the i2c-i801 and dell-smo8800 drivers. > > 3. This allows extending the quirk handling by adding new code and related > module parameters to the dell-lis3lv02d driver, without needing to modify > the i2c-i801 code. > > Reviewed-by: Pali Rohár <pali@xxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature