perf/marvell: Add ACPI support to DDR uncore driver
authorGowthami Thiagarajan <gthiagarajan@marvell.com>
Fri, 9 Dec 2022 05:36:07 +0000 (11:06 +0530)
committerWill Deacon <will@kernel.org>
Thu, 19 Jan 2023 18:30:21 +0000 (18:30 +0000)
Add support for ACPI based device registration so that the driver
can be also enabled through ACPI table.

Signed-off-by: Gowthami Thiagarajan <gthiagarajan@marvell.com>
Link: https://lore.kernel.org/r/20221209053607.3929964-1-gthiagarajan@marvell.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/marvell_cn10k_ddr_pmu.c

index 665b382a0ee3dc22971e5423079bd6b58e15530c..b94a5f6cc22b1e0c582c88fbb1eb02a632992674 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/of_device.h>
 #include <linux/perf_event.h>
 #include <linux/hrtimer.h>
+#include <linux/acpi.h>
 
 /* Performance Counters Operating Mode Control Registers */
 #define DDRC_PERF_CNT_OP_MODE_CTRL     0x8020
@@ -717,10 +718,19 @@ static const struct of_device_id cn10k_ddr_pmu_of_match[] = {
 MODULE_DEVICE_TABLE(of, cn10k_ddr_pmu_of_match);
 #endif
 
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id cn10k_ddr_pmu_acpi_match[] = {
+       {"MRVL000A", 0},
+       {},
+};
+MODULE_DEVICE_TABLE(acpi, cn10k_ddr_pmu_acpi_match);
+#endif
+
 static struct platform_driver cn10k_ddr_pmu_driver = {
        .driver = {
                .name   = "cn10k-ddr-pmu",
                .of_match_table = of_match_ptr(cn10k_ddr_pmu_of_match),
+               .acpi_match_table  = ACPI_PTR(cn10k_ddr_pmu_acpi_match),
                .suppress_bind_attrs = true,
        },
        .probe          = cn10k_ddr_perf_probe,