oprofile, ARM: Rework op_create_counter()
authorRobert Richter <robert.richter@amd.com>
Wed, 29 Sep 2010 12:43:29 +0000 (14:43 +0200)
committerRobert Richter <robert.richter@amd.com>
Mon, 4 Oct 2010 08:54:33 +0000 (10:54 +0200)
This patch simplifies op_create_counter(). Removing if/else if paths
and return code variable by direct returning from function.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Robert Richter <robert.richter@amd.com>
arch/arm/oprofile/common.c

index 7ae9eeb..cec9305 100644 (file)
@@ -89,28 +89,28 @@ static void op_perf_setup(void)
 
 static int op_create_counter(int cpu, int event)
 {
-       int ret = 0;
        struct perf_event *pevent;
 
-       if (!counter_config[event].enabled || (perf_events[cpu][event] != NULL))
-               return ret;
+       if (!counter_config[event].enabled || perf_events[cpu][event])
+               return 0;
 
        pevent = perf_event_create_kernel_counter(&counter_config[event].attr,
                                                  cpu, -1,
                                                  op_overflow_handler);
 
-       if (IS_ERR(pevent)) {
-               ret = PTR_ERR(pevent);
-       } else if (pevent->state != PERF_EVENT_STATE_ACTIVE) {
+       if (IS_ERR(pevent))
+               return PTR_ERR(pevent);
+
+       if (pevent->state != PERF_EVENT_STATE_ACTIVE) {
                perf_event_release_kernel(pevent);
                pr_warning("oprofile: failed to enable event %d "
                                "on CPU %d\n", event, cpu);
-               ret = -EBUSY;
-       } else {
-               perf_events[cpu][event] = pevent;
+               return -EBUSY;
        }
 
-       return ret;
+       perf_events[cpu][event] = pevent;
+
+       return 0;
 }
 
 static void op_destroy_counter(int cpu, int event)