From 2ac2e610f03df84e701702b465452953aecd1fa0 Mon Sep 17 00:00:00 2001 From: Mark Rutland Date: Fri, 21 Sep 2012 11:53:41 +0100 Subject: [PATCH] --- yaml --- r: 339535 b: refs/heads/master c: 2a4961ba89ffae388a553175db51dd58ce7c39a8 h: refs/heads/master i: 339533: 97852adc586d6294d9c8b90854864887ae4ebb86 339531: 36899edcdb0bb769bf8189e18cd6146d6a373451 339527: 1784547d70ed9a8655a29f5962b00f02ba7cffe0 339519: 63dcdaf3bde64094422ae4a714d0f24250e9718f v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/perf_event_cpu.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a85265860f51..1cdd5baab3df 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7279adbd9bb8ef8ff669da50f0e84c65a14022b5 +refs/heads/master: 2a4961ba89ffae388a553175db51dd58ce7c39a8 diff --git a/trunk/arch/arm/kernel/perf_event_cpu.c b/trunk/arch/arm/kernel/perf_event_cpu.c index 02244faa5396..71c824ce0203 100644 --- a/trunk/arch/arm/kernel/perf_event_cpu.c +++ b/trunk/arch/arm/kernel/perf_event_cpu.c @@ -285,7 +285,6 @@ static int __devinit cpu_pmu_device_probe(struct platform_device *pdev) cpu_pmu = pmu; cpu_pmu->plat_device = pdev; cpu_pmu_init(cpu_pmu); - register_cpu_notifier(&cpu_pmu_hotplug_notifier); armpmu_register(cpu_pmu, cpu_pmu->name, PERF_TYPE_RAW); return 0; @@ -303,6 +302,16 @@ static struct platform_driver cpu_pmu_driver = { static int __init register_pmu_driver(void) { - return platform_driver_register(&cpu_pmu_driver); + int err; + + err = register_cpu_notifier(&cpu_pmu_hotplug_notifier); + if (err) + return err; + + err = platform_driver_register(&cpu_pmu_driver); + if (err) + unregister_cpu_notifier(&cpu_pmu_hotplug_notifier); + + return err; } device_initcall(register_pmu_driver);