rk: revert to v3.10
[firefly-linux-kernel-4.4.55.git] / arch / arm / kernel / perf_event.c
index e19edc6f2d15a3e893a40dac8531baeabb7aad9b..8c3094d0f7b78426e367e2cf3ed538e54d686cbd 100644 (file)
@@ -53,12 +53,7 @@ armpmu_map_cache_event(const unsigned (*cache_map)
 static int
 armpmu_map_hw_event(const unsigned (*event_map)[PERF_COUNT_HW_MAX], u64 config)
 {
-       int mapping;
-
-       if (config >= PERF_COUNT_HW_MAX)
-               return -ENOENT;
-
-       mapping = (*event_map)[config];
+       int mapping = (*event_map)[config];
        return mapping == HW_OP_UNSUPPORTED ? -ENOENT : mapping;
 }
 
@@ -258,9 +253,6 @@ validate_event(struct pmu_hw_events *hw_events,
        struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
        struct pmu *leader_pmu = event->group_leader->pmu;
 
-       if (is_software_event(event))
-               return 1;
-
        if (event->pmu != leader_pmu || event->state < PERF_EVENT_STATE_OFF)
                return 1;
 
@@ -577,7 +569,6 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs)
                return;
        }
 
-       perf_callchain_store(entry, regs->ARM_pc);
        tail = (struct frame_tail __user *)regs->ARM_fp - 1;
 
        while ((entry->nr < PERF_MAX_STACK_DEPTH) &&