Module: xenomai-gch
Branch: for-2.4
Commit: 147bf3fdbe49164511839771451db0a5da6bab5e
URL:    
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=147bf3fdbe49164511839771451db0a5da6bab5e

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sat Aug 29 15:01:38 2009 +0200

arm: upgrade I-pipe support to 2.6.30-arm-1.14-02, 2.6.28-arm-1.12-05, 
2.6.29-arm-1.13-03

---

 ....patch => adeos-ipipe-2.6.28-arm-1.12-05.patch} |   22 ++++++++++++----
 ....patch => adeos-ipipe-2.6.29-arm-1.13-03.patch} |   22 ++++++++++++----
 ....patch => adeos-ipipe-2.6.29-arm-1.14-02.patch} |   25 +++++++++++++++----
 3 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-04.patch 
b/ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-05.patch
similarity index 99%
rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-04.patch
rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-05.patch
index 5fc89f3..d02b770 100644
--- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-04.patch
+++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.28-arm-1.12-05.patch
@@ -445,7 +445,7 @@ index 0000000..2a0c0e3
 +#endif /* __ASM_ARM_FCSE_H */
 diff --git a/arch/arm/include/asm/ipipe.h b/arch/arm/include/asm/ipipe.h
 new file mode 100644
-index 0000000..bc5e4de
+index 0000000..e51f147
 --- /dev/null
 +++ b/arch/arm/include/asm/ipipe.h
 @@ -0,0 +1,226 @@
@@ -479,10 +479,10 @@ index 0000000..bc5e4de
 +
 +#include <linux/ipipe_percpu.h>
 +
-+#define IPIPE_ARCH_STRING     "1.12-04"
++#define IPIPE_ARCH_STRING     "1.12-05"
 +#define IPIPE_MAJOR_NUMBER    1
 +#define IPIPE_MINOR_NUMBER    12
-+#define IPIPE_PATCH_NUMBER    4
++#define IPIPE_PATCH_NUMBER    5
 +
 +#ifdef CONFIG_SMP
 +#error "I-pipe/arm: SMP not yet implemented"
@@ -1281,11 +1281,14 @@ index 6ff3379..009336a 100644
  
  union debug_insn {
 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
-index 568020b..ac63904 100644
+index 568020b..99e98fb 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
-@@ -211,7 +211,9 @@ extern struct task_struct *__switch_to(struct task_struct 
*, struct thread_info
+@@ -209,10 +209,19 @@ static inline void set_copro_access(unsigned int val)
+  */
+ extern struct task_struct *__switch_to(struct task_struct *, struct 
thread_info *, struct thread_info *);
  
++#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
  #define switch_to(prev,next,last)                                     \
  do {                                                                  \
 -      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next));        \
@@ -1293,9 +1296,16 @@ index 568020b..ac63904 100644
 +      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next)); \
 +      local_irq_enable_hw_cond();                                     \
  } while (0)
++#else /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
++#define switch_to(prev,next,last)                                     \
++do {                                                                  \
++      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next)); \
++} while (0)
++#endif /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
  
  #if defined(CONFIG_CPU_SA1100) || defined(CONFIG_CPU_SA110)
-@@ -271,17 +273,17 @@ static inline unsigned long __xchg(unsigned long x, 
volatile void *ptr, int size
+ /*
+@@ -271,17 +280,17 @@ static inline unsigned long __xchg(unsigned long x, 
volatile void *ptr, int size
  #error SMP is not supported on this platform
  #endif
        case 1:
diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-02.patch 
b/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-03.patch
similarity index 99%
rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-02.patch
rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-03.patch
index cf39b34..9469e46 100644
--- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-02.patch
+++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.13-03.patch
@@ -428,7 +428,7 @@ index 0000000..11e5388
 +#endif /* __ASM_ARM_FCSE_H */
 diff --git a/arch/arm/include/asm/ipipe.h b/arch/arm/include/asm/ipipe.h
 new file mode 100644
-index 0000000..3a14347
+index 0000000..807560b
 --- /dev/null
 +++ b/arch/arm/include/asm/ipipe.h
 @@ -0,0 +1,243 @@
@@ -463,10 +463,10 @@ index 0000000..3a14347
 +#include <linux/ipipe_percpu.h>
 +#include <mach/irqs.h>                /* For __IPIPE_FEATURE_PIC_MUTE */
 +
-+#define IPIPE_ARCH_STRING     "1.13-02"
++#define IPIPE_ARCH_STRING     "1.13-03"
 +#define IPIPE_MAJOR_NUMBER    1
 +#define IPIPE_MINOR_NUMBER    13
-+#define IPIPE_PATCH_NUMBER    2
++#define IPIPE_PATCH_NUMBER    3
 +
 +#ifdef CONFIG_SMP
 +#error "I-pipe/arm: SMP not yet implemented"
@@ -1281,11 +1281,14 @@ index 1845892..cc9b9ff 100644
  
  union debug_insn {
 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
-index 811be55..d9be35a 100644
+index 811be55..0233b08 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
-@@ -209,7 +209,9 @@ extern struct task_struct *__switch_to(struct task_struct 
*, struct thread_info
+@@ -207,10 +207,19 @@ static inline void set_copro_access(unsigned int val)
+  */
+ extern struct task_struct *__switch_to(struct task_struct *, struct 
thread_info *, struct thread_info *);
  
++#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
  #define switch_to(prev,next,last)                                     \
  do {                                                                  \
 -      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next));        \
@@ -1293,9 +1296,16 @@ index 811be55..d9be35a 100644
 +      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next)); \
 +      local_irq_enable_hw_cond();                                     \
  } while (0)
++#else /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
++#define switch_to(prev,next,last)                                     \
++do {                                                                  \
++      last = __switch_to(prev,task_thread_info(prev), 
task_thread_info(next)); \
++} while (0)
++#endif /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
  
  #if defined(CONFIG_CPU_SA1100) || defined(CONFIG_CPU_SA110)
-@@ -269,17 +271,17 @@ static inline unsigned long __xchg(unsigned long x, 
volatile void *ptr, int size
+ /*
+@@ -269,17 +278,17 @@ static inline unsigned long __xchg(unsigned long x, 
volatile void *ptr, int size
  #error SMP is not supported on this platform
  #endif
        case 1:
diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.14-01.patch 
b/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.14-02.patch
similarity index 99%
rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.14-01.patch
rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.14-02.patch
index 179e7d5..070c6f5 100644
--- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.14-01.patch
+++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.29-arm-1.14-02.patch
@@ -428,7 +428,7 @@ index 0000000..11e5388
 +#endif /* __ASM_ARM_FCSE_H */
 diff --git a/arch/arm/include/asm/ipipe.h b/arch/arm/include/asm/ipipe.h
 new file mode 100644
-index 0000000..bcc62f1
+index 0000000..8330d78
 --- /dev/null
 +++ b/arch/arm/include/asm/ipipe.h
 @@ -0,0 +1,273 @@
@@ -463,10 +463,10 @@ index 0000000..bcc62f1
 +#include <linux/ipipe_percpu.h>
 +#include <mach/irqs.h>                /* For __IPIPE_FEATURE_PIC_MUTE */
 +
-+#define IPIPE_ARCH_STRING     "1.14-01"
++#define IPIPE_ARCH_STRING     "1.14-02"
 +#define IPIPE_MAJOR_NUMBER    1
 +#define IPIPE_MINOR_NUMBER    14
-+#define IPIPE_PATCH_NUMBER    1
++#define IPIPE_PATCH_NUMBER    2
 +
 +#ifdef CONFIG_SMP
 +#error "I-pipe/arm: SMP not yet implemented"
@@ -6953,7 +6953,7 @@ index 7f57ee6..ac494bc 100644
  
  #endif
 diff --git a/arch/arm/plat-pxa/gpio.c b/arch/arm/plat-pxa/gpio.c
-index abc79d4..9bb16fe 100644
+index abc79d4..6a30b57 100644
 --- a/arch/arm/plat-pxa/gpio.c
 +++ b/arch/arm/plat-pxa/gpio.c
 @@ -17,6 +17,7 @@
@@ -6964,7 +6964,7 @@ index abc79d4..9bb16fe 100644
  
  #include <mach/gpio.h>
  
-@@ -232,6 +233,34 @@ static void pxa_gpio_demux_handler(unsigned int irq, 
struct irq_desc *desc)
+@@ -232,6 +233,35 @@ static void pxa_gpio_demux_handler(unsigned int irq, 
struct irq_desc *desc)
        } while (loop);
  }
  
@@ -6988,7 +6988,8 @@ index abc79d4..9bb16fe 100644
 +                      while (n < BITS_PER_LONG) {
 +                              loop = 1;
 +
-+                              __ipipe_handle_irq(gpio_base + n, regs);
++                              __ipipe_handle_irq(
++                                      gpio_to_irq(gpio_base + n), regs);
 +                              n = find_next_bit(&gedr, BITS_PER_LONG, n + 1);
 +                      }
 +              }
@@ -6999,6 +7000,18 @@ index abc79d4..9bb16fe 100644
  static void pxa_ack_muxed_gpio(unsigned int irq)
  {
        int gpio = irq_to_gpio(irq);
+@@ -290,7 +320,11 @@ void __init pxa_init_gpio(int mux_irq, int start, int 
end, set_wake_t fn)
+ 
+       for (irq  = gpio_to_irq(start); irq <= gpio_to_irq(end); irq++) {
+               set_irq_chip(irq, &pxa_muxed_gpio_chip);
++#ifndef CONFIG_IPIPE
+               set_irq_handler(irq, handle_edge_irq);
++#else /* CONFIG_IPIPE */
++              set_irq_handler(irq, handle_level_irq);
++#endif /* CONFIG_IPIPE */
+               set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+       }
+ 
 diff --git a/arch/arm/plat-s3c/time.c b/arch/arm/plat-s3c/time.c
 index 3b27b29..8e6e479 100644
 --- a/arch/arm/plat-s3c/time.c


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to