Re: [PATCH v2] hwmon: (dell-smm) Use one DMI match for all XPS models

From: Pali RohÃr
Date: Tue Apr 07 2020 - 06:22:44 EST


Hi!

On Saturday 04 April 2020 16:49:00 Thomas Hebb wrote:
> Currently, each new XPS has to be added manually for module autoloading
> to work. Since fan multiplier autodetection should work fine on all XPS
> models, just match them all with one block like is done for Precision
> and Studio.

It makes sense. We already load driver for all Inspirion, Latitude,
Precision, Vostro and Studio models so I do not see reason why not to
load it also for all XPS models. I doubt that Dell uses one base
firmware for all mentioned models and second one specially for XPS.

> The only match we replace that doesn't already use autodetection is
> "XPS13" which, according to Google, only matches the XPS 13 9333. (All
> other XPS 13 models have "XPS" as its own word, surrounded by spaces.)
> According to the thread at [1], autodetection works for the XPS 13 9333,
> meaning this shouldn't regress it. I do not own one to confirm with,
> though.
>
> Tested on an XPS 13 9350 and confirmed the module now autoloads and
> reports reasonable-looking data. I am using BIOS 1.12.2 and do not see
> any freezes when querying fan speed.
>
> [1] https://lore.kernel.org/patchwork/patch/525367/

I guess that these two tests are enough based on the fact that lot of
XPS models are already whitelisted.

Guenter, it is fine for you now? Or is something else needed?

> Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx>

Acked-by: Pali RohÃr <pali@xxxxxxxxxx>

> ---
>
> Changes in v2:
> - Remove another now-redundant XPS entry that I'd missed.
>
> drivers/hwmon/dell-smm-hwmon.c | 26 ++------------------------
> 1 file changed, 2 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index d4c83009d625..ca30bf903ec7 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -1072,13 +1072,6 @@ static const struct dmi_system_id i8k_dmi_table[] __initconst = {
> DMI_MATCH(DMI_PRODUCT_NAME, "Vostro"),
> },
> },
> - {
> - .ident = "Dell XPS421",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "XPS L421X"),
> - },
> - },
> {
> .ident = "Dell Studio",
> .matches = {
> @@ -1087,14 +1080,6 @@ static const struct dmi_system_id i8k_dmi_table[] __initconst = {
> },
> .driver_data = (void *)&i8k_config_data[DELL_STUDIO],
> },
> - {
> - .ident = "Dell XPS 13",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "XPS13"),
> - },
> - .driver_data = (void *)&i8k_config_data[DELL_XPS],
> - },
> {
> .ident = "Dell XPS M140",
> .matches = {
> @@ -1104,17 +1089,10 @@ static const struct dmi_system_id i8k_dmi_table[] __initconst = {
> .driver_data = (void *)&i8k_config_data[DELL_XPS],
> },
> {
> - .ident = "Dell XPS 15 9560",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "XPS 15 9560"),
> - },
> - },
> - {
> - .ident = "Dell XPS 15 9570",
> + .ident = "Dell XPS",
> .matches = {
> DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "XPS 15 9570"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "XPS"),
> },
> },
> { }
> --
> 2.25.2
>