Am 05.11.24 um 16:33 schrieb Mario Limonciello:
> As multiple platform profile handlers can now be registered, the quirks
> to avoid registering amd-pmf as a handler are no longer necessary.
> Drop them.
I love it when we can get rid of quirk tables, so:
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
> Tested-by: Matthew Schwartz <matthew.schwartz@linux.dev>
> Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
> drivers/platform/x86/amd/pmf/Makefile | 2 +-
> drivers/platform/x86/amd/pmf/core.c | 1 -
> drivers/platform/x86/amd/pmf/pmf-quirks.c | 66 -----------------------
> drivers/platform/x86/amd/pmf/pmf.h | 3 --
> 4 files changed, 1 insertion(+), 71 deletions(-)
> delete mode 100644 drivers/platform/x86/amd/pmf/pmf-quirks.c
>
> diff --git a/drivers/platform/x86/amd/pmf/Makefile b/drivers/platform/x86/amd/pmf/Makefile
> index 7d6079b02589c..6b26e48ce8ad2 100644
> --- a/drivers/platform/x86/amd/pmf/Makefile
> +++ b/drivers/platform/x86/amd/pmf/Makefile
> @@ -7,4 +7,4 @@
> obj-$(CONFIG_AMD_PMF) += amd-pmf.o
> amd-pmf-objs := core.o acpi.o sps.o \
> auto-mode.o cnqf.o \
> - tee-if.o spc.o pmf-quirks.o
> + tee-if.o spc.o
> diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c
> index 47126abd13ca0..6ad00b3d472fe 100644
> --- a/drivers/platform/x86/amd/pmf/core.c
> +++ b/drivers/platform/x86/amd/pmf/core.c
> @@ -455,7 +455,6 @@ static int amd_pmf_probe(struct platform_device *pdev)
> mutex_init(&dev->lock);
> mutex_init(&dev->update_mutex);
>
> - amd_pmf_quirks_init(dev);
> apmf_acpi_init(dev);
> platform_set_drvdata(pdev, dev);
> amd_pmf_dbgfs_register(dev);
> diff --git a/drivers/platform/x86/amd/pmf/pmf-quirks.c b/drivers/platform/x86/amd/pmf/pmf-quirks.c
> deleted file mode 100644
> index 7cde5733b9cac..0000000000000
> --- a/drivers/platform/x86/amd/pmf/pmf-quirks.c
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-or-later
> -/*
> - * AMD Platform Management Framework Driver Quirks
> - *
> - * Copyright (c) 2024, Advanced Micro Devices, Inc.
> - * All Rights Reserved.
> - *
> - * Author: Mario Limonciello <mario.limonciello@amd.com>
> - */
> -
> -#include <linux/dmi.h>
> -
> -#include "pmf.h"
> -
> -struct quirk_entry {
> - u32 supported_func;
> -};
> -
> -static struct quirk_entry quirk_no_sps_bug = {
> - .supported_func = 0x4003,
> -};
> -
> -static const struct dmi_system_id fwbug_list[] = {
> - {
> - .ident = "ROG Zephyrus G14",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "GA403U"),
> - },
> - .driver_data = &quirk_no_sps_bug,
> - },
> - {
> - .ident = "ROG Ally X",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "RC72LA"),
> - },
> - .driver_data = &quirk_no_sps_bug,
> - },
> - {
> - .ident = "ASUS TUF Gaming A14",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "FA401W"),
> - },
> - .driver_data = &quirk_no_sps_bug,
> - },
> - {}
> -};
> -
> -void amd_pmf_quirks_init(struct amd_pmf_dev *dev)
> -{
> - const struct dmi_system_id *dmi_id;
> - struct quirk_entry *quirks;
> -
> - dmi_id = dmi_first_match(fwbug_list);
> - if (!dmi_id)
> - return;
> -
> - quirks = dmi_id->driver_data;
> - if (quirks->supported_func) {
> - dev->supported_func = quirks->supported_func;
> - pr_info("Using supported funcs quirk to avoid %s platform firmware bug\n",
> - dmi_id->ident);
> - }
> -}
> diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h
> index 8ce8816da9c16..b89aa38434faa 100644
> --- a/drivers/platform/x86/amd/pmf/pmf.h
> +++ b/drivers/platform/x86/amd/pmf/pmf.h
> @@ -795,7 +795,4 @@ int amd_pmf_smartpc_apply_bios_output(struct amd_pmf_dev *dev, u32 val, u32 preq
> void amd_pmf_populate_ta_inputs(struct amd_pmf_dev *dev, struct ta_pmf_enact_table *in);
> void amd_pmf_dump_ta_inputs(struct amd_pmf_dev *dev, struct ta_pmf_enact_table *in);
>
> -/* Quirk infrastructure */
> -void amd_pmf_quirks_init(struct amd_pmf_dev *dev);
> -
> #endif /* PMF_H */