ARM: 6974/1: pmu: refactor reservation
[pandora-kernel.git] / arch / arm / kernel / perf_event.c
index 139e3c8..a6c643f 100644 (file)
@@ -435,7 +435,7 @@ armpmu_reserve_hardware(void)
                        if (irq >= 0)
                                free_irq(irq, NULL);
                }
-               release_pmu(pmu_device);
+               release_pmu(ARM_PMU_DEVICE_CPU);
                pmu_device = NULL;
        }
 
@@ -454,7 +454,7 @@ armpmu_release_hardware(void)
        }
        armpmu->stop();
 
-       release_pmu(pmu_device);
+       release_pmu(ARM_PMU_DEVICE_CPU);
        pmu_device = NULL;
 }
 
@@ -560,11 +560,6 @@ static int armpmu_event_init(struct perf_event *event)
        event->destroy = hw_perf_event_destroy;
 
        if (!atomic_inc_not_zero(&active_events)) {
-               if (atomic_read(&active_events) > armpmu->num_events) {
-                       atomic_dec(&active_events);
-                       return -ENOSPC;
-               }
-
                mutex_lock(&pmu_reserve_mutex);
                if (atomic_read(&active_events) == 0) {
                        err = armpmu_reserve_hardware();