coresight: etm4x: Add ACPI support in platform driver
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Mon, 10 Jul 2023 06:25:00 +0000 (11:55 +0530)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Wed, 26 Jul 2023 15:46:25 +0000 (16:46 +0100)
Drop ETM4X ACPI ID from the AMBA ACPI device list, and instead just move it
inside the new ACPI devices list detected and used via platform driver.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: linux-acpi@vger.kernel.org
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> (for ACPI specific changes)
Acked-by: "Rafael J. Wysocki" <rafael@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Tested-by: Tanmay Jagdale <tanmay@marvell.com>
Link: https://lore.kernel.org/r/20230710062500.45147-7-anshuman.khandual@arm.com
drivers/acpi/acpi_amba.c
drivers/hwtracing/coresight/coresight-etm4x-core.c

index f5b443a..099966c 100644 (file)
@@ -22,7 +22,6 @@
 static const struct acpi_device_id amba_id_list[] = {
        {"ARMH0061", 0}, /* PL061 GPIO Device */
        {"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
-       {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
        {"ARMHC501", 0}, /* ARM CoreSight ETR */
        {"ARMHC502", 0}, /* ARM CoreSight STM */
        {"ARMHC503", 0}, /* ARM CoreSight Debug */
index 43f5839..703b6fc 100644 (file)
@@ -3,6 +3,7 @@
  * Copyright (c) 2014, The Linux Foundation. All rights reserved.
  */
 
+#include <linux/acpi.h>
 #include <linux/bitops.h>
 #include <linux/kernel.h>
 #include <linux/moduleparam.h>
@@ -2347,12 +2348,21 @@ static const struct of_device_id etm4_sysreg_match[] = {
        {}
 };
 
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id etm4x_acpi_ids[] = {
+       {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
+       {}
+};
+MODULE_DEVICE_TABLE(acpi, etm4x_acpi_ids);
+#endif
+
 static struct platform_driver etm4_platform_driver = {
        .probe          = etm4_probe_platform_dev,
        .remove         = etm4_remove_platform_dev,
        .driver                 = {
                .name                   = "coresight-etm4x",
                .of_match_table         = etm4_sysreg_match,
+               .acpi_match_table       = ACPI_PTR(etm4x_acpi_ids),
                .suppress_bind_attrs    = true,
                .pm                     = &etm4_dev_pm_ops,
        },