Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d482e575 authored by Jeremy Linton's avatar Jeremy Linton Committed by Will Deacon
Browse files

perf: arm_spe: Enable ACPI/Platform automatic module loading



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.

Tested-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
Signed-off-by: default avatarJeremy Linton <jeremy.linton@arm.com>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent d24a0c70
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -38,6 +38,7 @@
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/of_device.h>
#include <linux/perf_event.h>
#include <linux/perf_event.h>
#include <linux/perf/arm_pmu.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/printk.h>
#include <linux/printk.h>
#include <linux/slab.h>
#include <linux/slab.h>
@@ -1168,7 +1169,13 @@ static const struct of_device_id arm_spe_pmu_of_match[] = {
};
};
MODULE_DEVICE_TABLE(of, 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;
	int ret;
	struct arm_spe_pmu *spe_pmu;
	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 = {
static struct platform_driver arm_spe_pmu_driver = {
	.id_table = arm_spe_match,
	.driver	= {
	.driver	= {
		.name		= DRVNAME,
		.name		= DRVNAME,
		.of_match_table	= of_match_ptr(arm_spe_pmu_of_match),
		.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,
	.remove	= arm_spe_pmu_device_remove,
};
};