Re: [PATCH] platform/x86: dell-smbios: Match on www.dell.com in OEM strings too

From: Darren Hart
Date: Thu Apr 19 2018 - 19:43:37 EST


On Tue, Apr 17, 2018 at 02:45:56PM -0500, Mario Limonciello wrote:
> Sergey reported that some much older Dell systems don't support
> the OEM string "Dell System" but instead supported www.dell.com
> in OEM strings.
>
> Match both of these to indicate that this driver is running on
> a Dell system.
>
> Reported-by: Sergey Kubushyn <ksi@xxxxxxxx>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx>
> Tested-by: Sergey Kubushyn <ksi@xxxxxxxx>
> ---
> drivers/platform/x86/dell-smbios-base.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/x86/dell-smbios-base.c b/drivers/platform/x86/dell-smbios-base.c
> index 2485c80..fbd6557 100644
> --- a/drivers/platform/x86/dell-smbios-base.c
> +++ b/drivers/platform/x86/dell-smbios-base.c
> @@ -555,11 +555,15 @@ static void free_group(struct platform_device *pdev)
>
> static int __init dell_smbios_init(void)
> {
> - const struct dmi_device *valid;
> + const struct dmi_device *valid_dell_system;
> + const struct dmi_device *valid_www;
> int ret, wmi, smm;
>
> - valid = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL);
> - if (!valid) {
> + valid_dell_system =
> + dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL);
> + valid_www =
> + dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "www.dell.com", NULL);
> + if (!valid_dell_system && !valid_www) {
> pr_err("Unable to run on non-Dell system\n");
> return -ENODEV;
> }

Hrm, rather than introduce another variable that we don't use and always perform
both tests, when most of the time we only need to do the first, how about
something like: