iio: accel: bmc150: Document duplicate ACPI entries with bmi323 driver
authorJonathan LoBue <jlobue10@gmail.com>
Fri, 16 Feb 2024 18:22:53 +0000 (10:22 -0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 19 Feb 2024 19:34:44 +0000 (19:34 +0000)
Adds a description of the duplicate ACPI identifier issue
between devices using bmc150 and bmi323.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Co-developed-by: Luke D. Jones <luke@ljones.dev>
Signed-off-by: Luke D. Jones <luke@ljones.dev>
Co-developed-by: Denis Benato <benato.denis96@gmail.com>
Signed-off-by: Denis Benato <benato.denis96@gmail.com>
Co-developed-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Jonathan LoBue <jlobue10@gmail.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240216182253.27069-1-jlobue10@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/bmc150-accel-i2c.c

index f08594b372cfc6c1f56ac7bcfe71a51da2b4094d..1c2e40369839a3f4667cac5761ef7ed27b7d94d4 100644 (file)
@@ -224,6 +224,19 @@ static const struct acpi_device_id bmc150_accel_acpi_match[] = {
        {"BMA250E"},
        {"BMC150A"},
        {"BMI055A"},
+       /*
+        * The "BOSC0200" identifier used here is not unique to devices using
+        * bmc150. The same "BOSC0200" identifier is found in the ACPI tables
+        * of the ASUS ROG ALLY and Ayaneo AIR Plus which both use a Bosch
+        * BMI323 chip. This creates a conflict with duplicate ACPI identifiers
+        * which multiple drivers want to use. Fortunately, when the bmc150
+        * driver starts to load on the ASUS ROG ALLY, the chip ID check
+        * portion fails (correctly) because the chip IDs received (via i2c)
+        * are unique between bmc150 and bmi323 and a dmesg output similar to
+        * this: "bmc150_accel_i2c i2c-BOSC0200:00: Invalid chip 0" can be
+        * seen. This allows the bmi323 driver to take over for ASUS ROG ALLY,
+        * and other devices using the bmi323 chip.
+        */
        {"BOSC0200"},
        {"BSBA0150"},
        {"DUAL250E"},