diff mbox series

power: supply: axp288_fuel_gauge: Add the ECS EF20EA to the blacklist

Message ID 20201209045057.9509-1-chiu@endlessos.org
State New
Headers show
Series power: supply: axp288_fuel_gauge: Add the ECS EF20EA to the blacklist | expand

Commit Message

Chris Chiu Dec. 9, 2020, 4:50 a.m. UTC
The ECS EF20EA laptop ships an AXP288 but it is actually using a
different, separate FG chip for AC and battery monitoring. On this
laptop we need to keep using the regular ACPI driver and disable the
AXP288 FG to avoid reporting two batteries to userspace.

Signed-off-by: Chris Chiu <chiu@endlessos.org>
---
 drivers/power/supply/axp288_fuel_gauge.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Chris Chiu Dec. 10, 2020, 3:25 a.m. UTC | #1
On Wed, Dec 9, 2020 at 10:57 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi,
>
> On 12/9/20 5:50 AM, Chris Chiu wrote:
> > The ECS EF20EA laptop ships an AXP288 but it is actually using a
> > different, separate FG chip for AC and battery monitoring. On this
> > laptop we need to keep using the regular ACPI driver and disable the
> > AXP288 FG to avoid reporting two batteries to userspace.
> >
> > Signed-off-by: Chris Chiu <chiu@endlessos.org>
> > ---
> >  drivers/power/supply/axp288_fuel_gauge.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/power/supply/axp288_fuel_gauge.c b/drivers/power/supply/axp288_fuel_gauge.c
> > index 148eb8105803..a15c322c79ea 100644
> > --- a/drivers/power/supply/axp288_fuel_gauge.c
> > +++ b/drivers/power/supply/axp288_fuel_gauge.c
> > @@ -739,6 +739,12 @@ static const struct dmi_system_id axp288_fuel_gauge_blacklist[] = {
> >                       DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
> >               }
> >       },
> > +     {
> > +             /* ECS EF20 */
> > +             .matches = {
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "EF20"),
> > +             },
> > +     },
> >       {}
> >  };
>
> The axp288_fuel_gauge_blacklist already has the following entry:
>
>         {
>                 /* ECS EF20EA */
>                 .matches = {
>                         DMI_MATCH(DMI_PRODUCT_NAME, "EF20EA"),
>                 },
>         },
>
> So is this real entry really necessary? The existing entry
> matches the quirk for this in drivers/acpi/battery.c:
>
>         {
>                 /* ECS EF20EA, AXP288 PMIC but uses separate fuel-gauge */
>                 .callback = battery_do_not_check_pmic_quirk,
>                 .matches = {
>                         DMI_MATCH(DMI_PRODUCT_NAME, "EF20EA"),
>                 },
>         },
>
> And the one in drivers/acpi/ac.c:
>
>         {
>                 /* ECS EF20EA, AXP288 PMIC but uses separate fuel-gauge */
>                 .callback = ac_do_not_check_pmic_quirk,
>                 .matches = {
>                         DMI_MATCH(DMI_PRODUCT_NAME, "EF20EA"),
>                 },
>         },
>
> So I don't think that this patch is necessary...
>
> Regards,
>
> Hans
>
>

Thanks for pointing that out. We kept this downstreamly for a long time and
didn't notice it's already there.
diff mbox series

Patch

diff --git a/drivers/power/supply/axp288_fuel_gauge.c b/drivers/power/supply/axp288_fuel_gauge.c
index 148eb8105803..a15c322c79ea 100644
--- a/drivers/power/supply/axp288_fuel_gauge.c
+++ b/drivers/power/supply/axp288_fuel_gauge.c
@@ -739,6 +739,12 @@  static const struct dmi_system_id axp288_fuel_gauge_blacklist[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
 		}
 	},
+	{
+		/* ECS EF20 */
+		.matches = {
+			DMI_MATCH(DMI_PRODUCT_NAME, "EF20"),
+		},
+	},
 	{}
 };