From patchwork Sat Jun 15 01:09:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Linton X-Patchwork-Id: 166938 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp144537ilk; Fri, 14 Jun 2019 18:11:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqxIamTMShwQ7LlVq7Cs2ynjOloC499RY6pmXoaXVbeDneZvX6HHkSHaoNuhFFcrL+l49+U9 X-Received: by 2002:a17:90a:8a10:: with SMTP id w16mr13817353pjn.133.1560561062565; Fri, 14 Jun 2019 18:11:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560561062; cv=none; d=google.com; s=arc-20160816; b=mFgSLMPAiNUhYom13BaIJDbCihueKhfl8XwKJOEzyeGuLb1WCZZvy3diYY9NMkGBHE c6MMTJ8/70W2JFLRj7RS26VMOFB5tUp52+wKeF+l5TSuMWpsUCYfMA1Nu1W6x1PxQ0cA eDJQd4NWYfK/+2Iw1TftF0Jo3tR7riRkiD4s5wm4+nJxHr4pFAGzgJLIcMY4xIIeHVwV L0tycRPPzvujb9L6z9InQn+JcImUyv4tZ1+eVcLJP7iNv5TnaPXiCYs/Xjkzlcqk5+5u 4hNToipQjOHuq1ngrEvxYBvD/goI5p6cxxifZlgivE8JVAwJEliu//8iu37zq+xtmGJ8 to+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=OYoo1ak2g+SGDEVRRO6vghlnYPs6UYKmTldtiipy0wU=; b=Q+xjncojDJpGKsz1oWjlREg5Y56H+FBW9jb7WMHa3Kg4L0wF7kwaDtuSMsLuXf/0Rn 4SS4FqtEZJqP3NOYIEznzgcrFpNoF4evyrx8MysO4hyTnyRv6nyp1iWRSRpYgkXjj0o6 SNMvAkMrsonS3SDBPM8e6DCPojykcDVgfSMO2V77fV+e6Ouw+COypH/8Sifp6ZuL8a9P 1TkE63ZCvhI5KfCMRQN3wHW5Plg6y4HvkaRdPmzUYR6bu2LEf2vGMxAMLADvNDEa6XR3 pBUBk6nbbG/HUf4F0RJuHnRStpX8f0HuoKj4Vq2O7aUDYd24hJiRmqYHYli9F6YE1FqJ /8Jw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d12si3497271plo.68.2019.06.14.18.11.02; Fri, 14 Jun 2019 18:11:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726353AbfFOBLA (ORCPT + 19 others); Fri, 14 Jun 2019 21:11:00 -0400 Received: from foss.arm.com ([217.140.110.172]:45078 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725809AbfFOBK7 (ORCPT ); Fri, 14 Jun 2019 21:10:59 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EC658344; Fri, 14 Jun 2019 18:10:58 -0700 (PDT) Received: from mammon-tx2.austin.arm.com (mammon-tx2.austin.arm.com [10.118.30.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id DAC753F718; Fri, 14 Jun 2019 18:10:58 -0700 (PDT) From: Jeremy Linton To: linux-arm-kernel@lists.infradead.org Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, sudeep.holla@arm.com, Jeremy Linton Subject: [PATCH 1/4] ACPI/PPTT: Modify node flag detection to find last IDENTICAL Date: Fri, 14 Jun 2019 20:09:07 -0500 Message-Id: <20190615010910.33921-2-jeremy.linton@arm.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190615010910.33921-1-jeremy.linton@arm.com> References: <20190615010910.33921-1-jeremy.linton@arm.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The ACPI specification implies that the IDENTICAL flag should be set on all non leaf nodes where the children are identical. This means that we need to be searching for the last node with the identical flag set rather than the first one. Since this flag is also dependent on the table revision, we need to add a bit of extra code to verify the table revision, and the next node's state in the traversal. Since we want to avoid function pointers here, lets just special case the IDENTICAL flag. Reviewed-by: Sudeep Holla Signed-off-by: Jeremy Linton --- drivers/acpi/pptt.c | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) -- 2.21.0 diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c index b72e6afaa8fb..05344413f199 100644 --- a/drivers/acpi/pptt.c +++ b/drivers/acpi/pptt.c @@ -432,17 +432,40 @@ static void cache_setup_acpi_cpu(struct acpi_table_header *table, } } +static bool flag_identical(struct acpi_table_header *table_hdr, + struct acpi_pptt_processor *cpu) +{ + struct acpi_pptt_processor *next; + + /* heterogeneous machines must use PPTT revision > 1 */ + if (table_hdr->revision < 2) + return false; + + /* Locate the last node in the tree with IDENTICAL set */ + if (cpu->flags & ACPI_PPTT_ACPI_IDENTICAL) { + next = fetch_pptt_node(table_hdr, cpu->parent); + if (!(next && next->flags & ACPI_PPTT_ACPI_IDENTICAL)) + return true; + } + + return false; +} + /* Passing level values greater than this will result in search termination */ #define PPTT_ABORT_PACKAGE 0xFF -static struct acpi_pptt_processor *acpi_find_processor_package_id(struct acpi_table_header *table_hdr, - struct acpi_pptt_processor *cpu, - int level, int flag) +static struct acpi_pptt_processor *acpi_find_processor_tag(struct acpi_table_header *table_hdr, + struct acpi_pptt_processor *cpu, + int level, int flag) { struct acpi_pptt_processor *prev_node; while (cpu && level) { - if (cpu->flags & flag) + /* special case the identical flag to find last identical */ + if (flag == ACPI_PPTT_ACPI_IDENTICAL) { + if (flag_identical(table_hdr, cpu)) + break; + } else if (cpu->flags & flag) break; pr_debug("level %d\n", level); prev_node = fetch_pptt_node(table_hdr, cpu->parent); @@ -480,8 +503,8 @@ static int topology_get_acpi_cpu_tag(struct acpi_table_header *table, cpu_node = acpi_find_processor_node(table, acpi_cpu_id); if (cpu_node) { - cpu_node = acpi_find_processor_package_id(table, cpu_node, - level, flag); + cpu_node = acpi_find_processor_tag(table, cpu_node, + level, flag); /* * As per specification if the processor structure represents * an actual processor, then ACPI processor ID must be valid. From patchwork Sat Jun 15 01:09:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Linton X-Patchwork-Id: 166940 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp144609ilk; Fri, 14 Jun 2019 18:11:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqwgB48xuzpjJFQt82ctLSgbTYwvPS++UgICWA/k75BLLS3/8ia38Qlhq2GSAG2HlnPYxDoC X-Received: by 2002:a63:24c1:: with SMTP id k184mr39041919pgk.120.1560561066850; Fri, 14 Jun 2019 18:11:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560561066; cv=none; d=google.com; s=arc-20160816; b=Dxnen+CqXXprBylvXrQxj7iuL5VYjFYFbV9ZLdy5FjFpgrYvBawP0PJotcc4dYGfPF nlkGRXmQlxWb68IBkvf0RUB1PrLo8DiPTXb82n6jZwaBUTSAIJS/epGHPBKkffONYcuT xIRViu0mwVI8IRGDBhJIomypXchQTj0rDA5BIxiOdl8PzwFftQesDNLY3LjWjsJ30x6X APs0G/jNM7pcAZNpHMWhWXLXN1C28GJdAxE4NgMiT61RNMlxNg7pfr9jggtgAbhNf8Zl torQRURqq2ox1kuvoOegsq1Hc2iyJDBDPNA5dXdKYNEPGp9LOuoGW1qLhyiesceRVgpw S6SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=HmUuJrnP5++aHFRXJFSw0J1hwacvy8Ibz1dbzpiqCwA=; b=TvavMppxEMgXf7IhYH4ESymrkMpWysCeyuFWP7KiTDaBgIn3CeEI8jKnPytP7M5he0 5AfAi7QW3saNHyP6asXzAp20rXD6zVwDE2CxF46bFXpXf6UIVd0yd0qcU4aDhKyuKMX5 znnEO/XR9nqgxnLyBPNZFE2PxyuoKfQU+XMaWLyWwWMQfevHwVRYjrZFTNy8Gf/hr5yd 5PbNk94Dt1vy10uutGjtB/qB0nR8kWLc/drKDBQJFqj/xgUbsGLXKyEwxXrgZCPKuyOn zwlApCn+zf1O12HxKR1RM96Svb3gH6eFH38/m4P3jP91cya/dUoGraeJJAco9Q0egrwQ Bc1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33si3541940plu.126.2019.06.14.18.11.06; Fri, 14 Jun 2019 18:11:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726480AbfFOBLF (ORCPT + 19 others); Fri, 14 Jun 2019 21:11:05 -0400 Received: from foss.arm.com ([217.140.110.172]:45090 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726340AbfFOBLA (ORCPT ); Fri, 14 Jun 2019 21:11:00 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3E813346; Fri, 14 Jun 2019 18:11:00 -0700 (PDT) Received: from mammon-tx2.austin.arm.com (mammon-tx2.austin.arm.com [10.118.30.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2D9823F718; Fri, 14 Jun 2019 18:11:00 -0700 (PDT) From: Jeremy Linton To: linux-arm-kernel@lists.infradead.org Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, sudeep.holla@arm.com, Jeremy Linton Subject: [PATCH 2/4] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens Date: Fri, 14 Jun 2019 20:09:08 -0500 Message-Id: <20190615010910.33921-3-jeremy.linton@arm.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190615010910.33921-1-jeremy.linton@arm.com> References: <20190615010910.33921-1-jeremy.linton@arm.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ACPI 6.3 adds a flag to indicate that child nodes are all identical cores. This is useful to authoritatively determine if a set of (possibly offline) cores are identical or not. Since the flag doesn't give us a unique id we can generate one and use it to create bitmaps of sibling nodes, or simply in a loop to determine if a subset of cores are identical. Reviewed-by: Sudeep Holla Signed-off-by: Jeremy Linton --- drivers/acpi/pptt.c | 26 ++++++++++++++++++++++++++ include/linux/acpi.h | 5 +++++ 2 files changed, 31 insertions(+) -- 2.21.0 diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c index 05344413f199..1e7ac0bd0d3a 100644 --- a/drivers/acpi/pptt.c +++ b/drivers/acpi/pptt.c @@ -683,3 +683,29 @@ int find_acpi_cpu_topology_package(unsigned int cpu) return find_acpi_cpu_topology_tag(cpu, PPTT_ABORT_PACKAGE, ACPI_PPTT_PHYSICAL_PACKAGE); } + +/** + * find_acpi_cpu_topology_hetero_id() - Get a core architecture tag + * @cpu: Kernel logical CPU number + * + * Determine a unique heterogeneous tag for the given CPU. CPUs with the same + * implementation should have matching tags. + * + * The returned tag can be used to group peers with identical implementation. + * + * The search terminates when a level is found with the identical implementation + * flag set or we reach a root node. + * + * Due to limitations in the PPTT data structure, there may be rare situations + * where two cores in a heterogeneous machine may be identical, but won't have + * the same tag. + * + * Return: -ENOENT if the PPTT doesn't exist, or the CPU cannot be found. + * Otherwise returns a value which represents a group of identical cores + * similar to this CPU. + */ +int find_acpi_cpu_topology_hetero_id(unsigned int cpu) +{ + return find_acpi_cpu_topology_tag(cpu, PPTT_ABORT_PACKAGE, + ACPI_PPTT_ACPI_IDENTICAL); +} diff --git a/include/linux/acpi.h b/include/linux/acpi.h index d315d86844e4..5bcd23e5ccd6 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -1303,6 +1303,7 @@ static inline int lpit_read_residency_count_address(u64 *address) #ifdef CONFIG_ACPI_PPTT int find_acpi_cpu_topology(unsigned int cpu, int level); int find_acpi_cpu_topology_package(unsigned int cpu); +int find_acpi_cpu_topology_hetero_id(unsigned int cpu); int find_acpi_cpu_cache_topology(unsigned int cpu, int level); #else static inline int find_acpi_cpu_topology(unsigned int cpu, int level) @@ -1313,6 +1314,10 @@ static inline int find_acpi_cpu_topology_package(unsigned int cpu) { return -EINVAL; } +static inline int find_acpi_cpu_topology_hetero_id(unsigned int cpu) +{ + return -EINVAL; +} static inline int find_acpi_cpu_cache_topology(unsigned int cpu, int level) { return -EINVAL; From patchwork Sat Jun 15 01:09:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Linton X-Patchwork-Id: 166941 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp144654ilk; Fri, 14 Jun 2019 18:11:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqwjCrkwYStwHOtircwU3IeOK0W5PwiPdlL/DU+nOEwWVn7WxwDjC7Ckysgq4DDyiYLSTNKw X-Received: by 2002:a17:90a:628a:: with SMTP id d10mr13746182pjj.7.1560561069291; Fri, 14 Jun 2019 18:11:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560561069; cv=none; d=google.com; s=arc-20160816; b=YON7gIepgJdNFSyzCK7K/bg1vPSdO5f2aOzoWzl3LQzKbMgh8FSkpcWiv1oQOxELlx 3zy6sX2FUP9d1u49Gh8RBdwlRk/0i6wC7iNlb7zZQnJUNinFQXX1CWWfg9tvS+G45TF5 2VSoKaM5yUa8HZ90fqeelM0PrNjZj8BoXLHOBbLdCi5tkUhkPh/vJuREfsBXo4nXFx9b ScVP+q7pbeBi2SPHDY+OZKLjZyum0bR6zTZpRk0nQlGuAcrZ3lwFmPAgwBquVJAzh7gV lXoA+GPojcn3+uCsMGaUpwyyWn8GGBYuyVbukT5HCrdufyQnqegPM4uBZV73P+xNxqXT oxkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=3/nGxywQhusvdaV00/ge04zbGJiA4vDA2m4Kg1lgeQk=; b=fUUf2Oyi2jkV8Yu1F5Gc85Cv0Hldf4yq2jR46+3O/W7hejpJhcF71RK+6YF2ZfQaJb NnmQxtMn2tdXAVswIddNVmoO/its2aW+jWtmcmbQCFEBH5Khg13mtfeMOJaxv8s2bqKi iCSruG4XFXJsxRXvY4LqOWysocjoMIgkOp2AjbbCPlOj8B7AjtesYIVy2Qnr/hMIdIKQ VVEgZ3qeuCCpu4VTHhvMpTmhNs16xstIaoKSYm2FLVqyFVhbj3LqZXAAFqeBMz1XwMXJ Ao8Az0ZibqxQ1kYHol2+W4N9bdZmQAPdNbJlXRLJvze8I84CMU4RdW4IxjQBe0Z6G4Uj SVZQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33si3541940plu.126.2019.06.14.18.11.09; Fri, 14 Jun 2019 18:11:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726583AbfFOBLI (ORCPT + 19 others); Fri, 14 Jun 2019 21:11:08 -0400 Received: from foss.arm.com ([217.140.110.172]:45110 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726340AbfFOBLG (ORCPT ); Fri, 14 Jun 2019 21:11:06 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B9A642B; Fri, 14 Jun 2019 18:11:05 -0700 (PDT) Received: from mammon-tx2.austin.arm.com (mammon-tx2.austin.arm.com [10.118.30.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B03893F718; Fri, 14 Jun 2019 18:11:05 -0700 (PDT) From: Jeremy Linton To: linux-arm-kernel@lists.infradead.org Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, sudeep.holla@arm.com, Jeremy Linton Subject: [PATCH 4/4] perf: arm_spe: Enable ACPI/Platform automatic module loading Date: Fri, 14 Jun 2019 20:09:10 -0500 Message-Id: <20190615010910.33921-5-jeremy.linton@arm.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190615010910.33921-1-jeremy.linton@arm.com> References: <20190615010910.33921-1-jeremy.linton@arm.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Lets add the MODULE_TABLE and platform id_table entries so that the SPE driver can attach to the ACPI platform device created by the core pmu code. Signed-off-by: Jeremy Linton Reviewed-by: Sudeep Holla --- drivers/perf/arm_spe_pmu.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- 2.21.0 diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c index e120f933412a..4fb65c61c8ea 100644 --- a/drivers/perf/arm_spe_pmu.c +++ b/drivers/perf/arm_spe_pmu.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -1168,7 +1169,13 @@ static const struct of_device_id arm_spe_pmu_of_match[] = { }; MODULE_DEVICE_TABLE(of, arm_spe_pmu_of_match); -static int arm_spe_pmu_device_dt_probe(struct platform_device *pdev) +static const struct platform_device_id arm_spe_match[] = { + { ARMV8_SPE_PDEV_NAME, 0}, + { } +}; +MODULE_DEVICE_TABLE(platform, arm_spe_match); + +static int arm_spe_pmu_device_probe(struct platform_device *pdev) { int ret; struct arm_spe_pmu *spe_pmu; @@ -1228,11 +1235,12 @@ static int arm_spe_pmu_device_remove(struct platform_device *pdev) } static struct platform_driver arm_spe_pmu_driver = { + .id_table = arm_spe_match, .driver = { .name = DRVNAME, .of_match_table = of_match_ptr(arm_spe_pmu_of_match), }, - .probe = arm_spe_pmu_device_dt_probe, + .probe = arm_spe_pmu_device_probe, .remove = arm_spe_pmu_device_remove, };