On Mon, Aug 21, 2017 at 1:27 PM, Borislav Petkov <bp@xxxxxxxxx> wrote: > On Fri, Aug 18, 2017 at 01:46:40PM -0600, Toshi Kani wrote: >> ACPI OEM ID / OEM Table ID / Revision can be used to identify >> a platform based on ACPI firmware info. acpi_blacklisted(), >> intel_pstate_platform_pwr_mgmt_exists(), and some other funcs, >> have been using similar check to detect a list of platforms >> that require special handlings. >> >> Move the platform check in acpi_blacklisted() to a new common >> utility function, acpi_match_platform_list(), so that other >> drivers do not have to implement their own version. >> >> There is no change in functionality. >> >> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> >> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> >> Cc: Borislav Petkov <bp@xxxxxxxxx> >> --- >> drivers/acpi/blacklist.c | 83 ++++++++-------------------------------------- >> drivers/acpi/utils.c | 40 ++++++++++++++++++++++ >> include/linux/acpi.h | 19 +++++++++++ >> 3 files changed, 73 insertions(+), 69 deletions(-) > > ... > >> diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c >> index b9d956c..998aaf5 100644 >> --- a/drivers/acpi/utils.c >> +++ b/drivers/acpi/utils.c >> @@ -816,3 +816,43 @@ static int __init acpi_backlight(char *str) >> return 1; >> } >> __setup("acpi_backlight=", acpi_backlight); >> + >> +/** >> + * acpi_match_platform_list - Check if the system matches with a given list >> + * @plat: pointer to acpi_platform_list table terminated by a NULL entry >> + * >> + * Return the matched index if the system is found in the platform list. >> + * Otherwise, return a negative error code. >> + */ >> +int acpi_match_platform_list(const struct acpi_platform_list *plat) >> +{ >> + struct acpi_table_header hdr; >> + int idx = 0; >> + >> + if (acpi_disabled) >> + return -ENODEV; > > Btw, Rafael, should we do something like this: > > diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c > index 010b1c43df92..881b0d5b2838 100644 > --- a/drivers/acpi/acpica/tbxface.c > +++ b/drivers/acpi/acpica/tbxface.c > @@ -226,6 +226,9 @@ acpi_get_table_header(char *signature, > u32 j; > struct acpi_table_header *header; > > + if (acpi_disabled) > + return (AE_ERROR); > + > /* Parameter validation */ > > if (!signature || !out_table_header) { > --- > > in order to avoid that sprinkling of if (acpi_disabled) everywhere? Yes, let's catch this as early as possible. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html