generic: rename jffs2 patches
[oweals/openwrt.git] / target / linux / generic / patches-3.6 / 307-mips_oprofile_fix.patch
index f83c96bb81f64a65764dc81705927b24c3933353..bed5786454f4f1384739f93c6ad3d16e1d58d939 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/mips/oprofile/op_model_mipsxx.c
 +++ b/arch/mips/oprofile/op_model_mipsxx.c
-@@ -298,6 +298,11 @@ static void reset_counters(void *arg)
-       }
+@@ -303,6 +303,11 @@ static irqreturn_t mipsxx_perfcount_int(
+       return mipsxx_perfcount_handler();
  }
  
 +static irqreturn_t mipsxx_perfcount_int(int irq, void *dev_id)
@@ -12,9 +12,9 @@
  static int __init mipsxx_init(void)
  {
        int counters;
-@@ -374,6 +379,10 @@ static int __init mipsxx_init(void)
-       save_perf_irq = perf_irq;
-       perf_irq = mipsxx_perfcount_handler;
+@@ -385,6 +390,10 @@ static int __init mipsxx_init(void)
+               return request_irq(cp0_perfcount_irq, mipsxx_perfcount_int,
+                       0, "Perfcounter", save_perf_irq);
  
 +      if (cp0_perfcount_irq >= 0)
 +              return request_irq(cp0_perfcount_irq, mipsxx_perfcount_int,
@@ -23,9 +23,9 @@
        return 0;
  }
  
-@@ -381,6 +390,9 @@ static void mipsxx_exit(void)
- {
-       int counters = op_model_mipsxx_ops.num_counters;
+@@ -395,6 +404,9 @@ static void mipsxx_exit(void)
+       if ((cp0_perfcount_irq >= 0) && (cp0_compare_irq != cp0_perfcount_irq))
+               free_irq(cp0_perfcount_irq, save_perf_irq);
  
 +      if (cp0_perfcount_irq >= 0)
 +              free_irq(cp0_perfcount_irq, save_perf_irq);