power: supply: axp288_fuel_gauge: Make "T3 MRD" no_battery_list DMI entry more generic
authorHans de Goede <hdegoede@redhat.com>
Thu, 17 Jun 2021 19:27:02 +0000 (21:27 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 29 Jun 2021 22:08:52 +0000 (00:08 +0200)
It turns out that the "T3 MRD" DMI_BOARD_NAME value is used in a lot of
different Cherry Trail x5-z8300 / x5-z8350 based Mini-PC / HDMI-stick
models from Ace PC / Meegopad / MinisForum / Wintel (and likely also
other vendors).

Most of the other DMI strings on these boxes unfortunately contain various
generic values like "Default string" or "$(DEFAULT_STRING)", so we cannot
match on them. These devices do have their chassis-type correctly set to a
value of "3" (desktop) which is a pleasant surprise, so also match on that.

This should avoid the quirk accidentally also getting applied to laptops /
tablets (which do actually have a battery). Although in my quite large
database of Bay and Cherry Trail based devices DMIdecode dumps I don't
have any laptops / tables with a board-name of "T3 MRD", so this should
not be an issue.

BugLink: https://askubuntu.com/questions/1206714/how-can-a-mini-pc-be-stopped-from-being-detected-as-a-laptop-with-a-battery/
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/axp288_fuel_gauge.c

index b74c4ac..a9c28a7 100644 (file)
@@ -723,15 +723,6 @@ static const struct dmi_system_id axp288_no_battery_list[] = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "MEEGOPAD T02"),
                },
        },
-       {
-               /* Meegopad T08 */
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Default string"),
-                       DMI_MATCH(DMI_BOARD_VENDOR, "To be filled by OEM."),
-                       DMI_MATCH(DMI_BOARD_NAME, "T3 MRD"),
-                       DMI_MATCH(DMI_BOARD_VERSION, "V1.1"),
-               },
-       },
        {       /* Mele PCG03 Mini PC */
                .matches = {
                        DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Mini PC"),
@@ -745,6 +736,15 @@ static const struct dmi_system_id axp288_no_battery_list[] = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
                }
        },
+       {
+               /* Various Ace PC/Meegopad/MinisForum/Wintel Mini-PCs/HDMI-sticks */
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "T3 MRD"),
+                       DMI_MATCH(DMI_CHASSIS_TYPE, "3"),
+                       DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
+                       DMI_MATCH(DMI_BIOS_VERSION, "5.11"),
+               },
+       },
        {}
 };