Re: [PATCH v3 5/9] x86/quirks: Convert DMI matching to use a table

From: Alexander Shishkin
Date: Mon Mar 16 2020 - 11:27:36 EST


Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> writes:

> +static const struct dmi_system_id x86_machine_table[] __initconst = {
> + {
> + .ident = "x86 Apple Macintosh",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
> + },
> + .driver_data = &x86_apple_machine,
> + },
> + {
> + .ident = "x86 Apple Macintosh",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."),
> + },
> + .driver_data = &x86_apple_machine,
> + },
> + {}
> +};
> +
> +static void __init early_platform_detect_quirk(void)
> +{
> + const struct dmi_system_id *id;
> +
> + id = dmi_first_match(x86_machine_table);
> + if (!id)
> + return;
> +
> + printk(KERN_DEBUG "Detected %s platform\n", id->ident);
> + *((bool *)id->driver_data) = true;

I'd suggest that x86_apple_machine and the ones that you add further
down this patchset, be made functions instead. That way you could at
first hide the global bool(s) and then replace this with something a
little more type safe.

Regards,
--
Alex