ARM: perf: simplify __hw_perf_event_init err handling
authorMark Rutland <Mark.Rutland@arm.com>
Fri, 18 Jan 2013 16:10:06 +0000 (16:10 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 18 Jan 2013 16:54:30 +0000 (16:54 +0000)
Currently __hw_perf_event_init has an err variable that's ignored right
until the end, where it's initialised, conditionally set, and then used
as a boolean flag deciding whether to return another error code.

This patch removes the err variable and simplifies the associated error
handling logic.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/kernel/perf_event.c

index 6df1969811c839c3e8ca5b0d1b268b9ad3f65902..31e0eb353cd80a1bf3c02dfe6c4b7c5b1112bec4 100644 (file)
@@ -350,7 +350,7 @@ __hw_perf_event_init(struct perf_event *event)
 {
        struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
        struct hw_perf_event *hwc = &event->hw;
-       int mapping, err;
+       int mapping;
 
        mapping = armpmu->map_event(event);
 
@@ -399,14 +399,12 @@ __hw_perf_event_init(struct perf_event *event)
                local64_set(&hwc->period_left, hwc->sample_period);
        }
 
-       err = 0;
        if (event->group_leader != event) {
-               err = validate_group(event);
-               if (err)
+               if (validate_group(event) != 0);
                        return -EINVAL;
        }
 
-       return err;
+       return 0;
 }
 
 static int armpmu_event_init(struct perf_event *event)