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

Marius Hoch posted 1 patch 2 years, 8 months ago
drivers/acpi/x86/utils.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH] ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001
Posted by Marius Hoch 2 years, 8 months ago
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(+)

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)
-- 
2.40.0
Re: [PATCH] ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001
Posted by Hans de Goede 2 years, 8 months ago
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>

Regards,

Hans


> ---
>  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)
Re: [PATCH] ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001
Posted by Rafael J. Wysocki 2 years, 7 months ago
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)
>