diff mbox series

ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001

Message ID 20230422164401.5986-1-mail@mariushoch.de
State Accepted
Commit 61711941d8515c6d2a8a95d89e132902b56feebd
Headers show
Series ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001 | expand

Commit Message

Marius Hoch April 22, 2023, 4:44 p.m. UTC
The LSM303D on the Lenovo Yoga Tablet 2 series is present
as both ACCL0001 and MAGN0001. As we can only ever register an
i2c client for one of them, ignore MAGN0001.

Currently this errors:
i2c i2c-4: Failed to register i2c client MAGN0001:00 at 0x1d (-16)

Tested on a Lenovo Yoga Tablet 2 1051-F.

Signed-off-by: Marius Hoch <mail@mariushoch.de>
---
 drivers/acpi/x86/utils.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Rafael J. Wysocki April 27, 2023, 4:53 p.m. UTC | #1
On Sat, Apr 22, 2023 at 7:29 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi,
>
> On 4/22/23 18:44, Marius Hoch wrote:
> > The LSM303D on the Lenovo Yoga Tablet 2 series is present
> > as both ACCL0001 and MAGN0001. As we can only ever register an
> > i2c client for one of them, ignore MAGN0001.
> >
> > Currently this errors:
> > i2c i2c-4: Failed to register i2c client MAGN0001:00 at 0x1d (-16)
> >
> > Tested on a Lenovo Yoga Tablet 2 1051-F.
> >
> > Signed-off-by: Marius Hoch <mail@mariushoch.de>
>
> Thanks, patch looks good to me:
>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Applied as 6.4-rc material, thanks!

> > ---
> >  drivers/acpi/x86/utils.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
> > index ba420a28a4aa..9c2d6f35f88a 100644
> > --- a/drivers/acpi/x86/utils.c
> > +++ b/drivers/acpi/x86/utils.c
> > @@ -143,6 +143,16 @@ static const struct override_status_id override_status_ids[] = {
> >               DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
> >               DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
> >             }),
> > +
> > +     /*
> > +      * The LSM303D on the Lenovo Yoga Tablet 2 series is present
> > +      * as both ACCL0001 and MAGN0001. As we can only ever register an
> > +      * i2c client for one of them, ignore MAGN0001.
> > +      */
> > +     NOT_PRESENT_ENTRY_HID("MAGN0001", "1", ATOM_SILVERMONT, {
> > +             DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> > +             DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"),
> > +           }),
> >  };
> >
> >  bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *status)
>
diff mbox series

Patch

diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
index ba420a28a4aa..9c2d6f35f88a 100644
--- a/drivers/acpi/x86/utils.c
+++ b/drivers/acpi/x86/utils.c
@@ -143,6 +143,16 @@  static const struct override_status_id override_status_ids[] = {
 		DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
 		DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
 	      }),
+
+	/*
+	 * The LSM303D on the Lenovo Yoga Tablet 2 series is present
+	 * as both ACCL0001 and MAGN0001. As we can only ever register an
+	 * i2c client for one of them, ignore MAGN0001.
+	 */
+	NOT_PRESENT_ENTRY_HID("MAGN0001", "1", ATOM_SILVERMONT, {
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"),
+	      }),
 };
 
 bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *status)