]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
sparc64: Rework sparc_pmu_enable() so that the side effects are clearer.
authorDavid S. Miller <davem@davemloft.net>
Fri, 17 Aug 2012 10:09:39 +0000 (03:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Aug 2012 06:26:20 +0000 (23:26 -0700)
When cpuc->n_events is zero, we actually don't do anything and we just
write the cpuc->pcr[0] value as-is without any modifications.

The "pcr = 0;" assignment there was just useless and confusing.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/perf_event.c

index 9be089abb5d1e2b7f95e4b6b1dffbd5aa9c0fbe7..197c79e9206af87ce0dbae1f6402bebf410e4a89 100644 (file)
@@ -752,7 +752,6 @@ out:
 static void sparc_pmu_enable(struct pmu *pmu)
 {
        struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
-       u64 pcr;
 
        if (cpuc->enabled)
                return;
@@ -760,11 +759,8 @@ static void sparc_pmu_enable(struct pmu *pmu)
        cpuc->enabled = 1;
        barrier();
 
-       pcr = cpuc->pcr[0];
-       if (!cpuc->n_events) {
-               pcr = 0;
-       } else {
-               pcr = maybe_change_configuration(cpuc, pcr);
+       if (cpuc->n_events) {
+               u64 pcr = maybe_change_configuration(cpuc, cpuc->pcr[0]);
 
                /* We require that all of the events have the same
                 * configuration, so just fetch the settings from the