[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dec086cc-7403-4a06-b860-aae6daf8f0e7@roeck-us.net>
Date: Fri, 3 Nov 2023 12:36:49 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: James Seo <james@...iv.tech>, Jean Delvare <jdelvare@...e.com>
Cc: Lukasz Stelmach <l.stelmach@...sung.com>,
Armin Wolf <W_Armin@....de>, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] hwmon: (hp-wmi-sensors) Fix failure to load on EliteDesk
800 G6
On 11/3/23 11:19, James Seo wrote:
> The EliteDesk 800 G6 stores a raw WMI string within the ACPI object in its
> BIOS corresponding to one instance of HPBIOS_PlatformEvents.Name. This is
> evidently a valid way of representing a WMI data item as far as the Microsoft
> ACPI-WMI mapper is concerned, but is preventing the driver from loading.
>
> As this seems quite rare, add a machine-limited workaround for now.
>
> Reported-by: Lukasz Stelmach <l.stelmach@...sung.com>
> Closes: https://lore.kernel.org/linux-hwmon/7850a0bd-60e7-88f8-1d6c-0bb0e3234fdc@roeck-us.net/
> Signed-off-by: James Seo <james@...iv.tech>
> ---
[ ... ]
> +static bool is_raw_wmi_string(const acpi_object_type property_map[], int prop)
> +{
> + const char *board_name;
> +
> + if (property_map != hp_wmi_platform_events_property_map ||
> + prop != HP_WMI_PLATFORM_EVENTS_PROPERTY_NAME)
> + return false;
> +
> + board_name = dmi_get_system_info(DMI_BOARD_NAME);
> + if (!board_name)
> + return false;
> +
> + return !strcmp(board_name, HP_WMI_BOARD_NAME_ELITEDESK_800_G6);
Would it be possible to use a dmi table and dmi_check_system() ?
That would make it easier to add more platforms later on if needed.
Thanks,
Guenter
Powered by blists - more mailing lists