[Xenomai-git] Gilles Chanteperdrix : arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6. 31-1.16-02, 2.6.33-1.17-02
Module: xenomai-head Branch: master Commit: 004822ac8f224280c7f16286ce23d90c4994ef88 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=004822ac8f224280c7f16286ce23d90c4994ef88 Author: Gilles Chanteperdrix Date: Sun Aug 1 19:14:56 2010 +0200 arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6.31-1.16-02, 2.6.33-1.17-02 --- patch => adeos-ipipe-2.6.30-arm-1.15-03.patch} | 275 - patch => adeos-ipipe-2.6.31-arm-1.16-02.patch} | 427 +++- patch => adeos-ipipe-2.6.33-arm-1.17-02.patch} | 315 +-- 3 files changed, 861 insertions(+), 156 deletions(-) diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch similarity index 98% rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch index 70b4925..3a114fd 100644 --- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch +++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch @@ -466,7 +466,7 @@ index 000..28dc372 +#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 000..7d9b735 +index 000..bb5cc43 --- /dev/null +++ b/arch/arm/include/asm/ipipe.h @@ -0,0 +1,274 @@ @@ -501,10 +501,10 @@ index 000..7d9b735 +#include +#include /* For __IPIPE_FEATURE_PIC_MUTE */ + -+#define IPIPE_ARCH_STRING "1.15-02" ++#define IPIPE_ARCH_STRING "1.15-03" +#define IPIPE_MAJOR_NUMBER1 +#define IPIPE_MINOR_NUMBER15 -+#define IPIPE_PATCH_NUMBER2 ++#define IPIPE_PATCH_NUMBER3 + +#ifdef CONFIG_SMP +#error "I-pipe/arm: SMP not yet implemented" @@ -4815,6 +4815,61 @@ index 1e93dfe..8374fa2 100644 +EXPORT_SYMBOL(__ipipe_mach_release_timer); + +#endif /* CONFIG_IPIPE */ +diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +index e824c02..126b297 100644 +--- a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +@@ -72,8 +72,8 @@ extern unsigned long ixp4xx_exp_bus_size; + /* + * Clock Speed Definitions. + */ +-#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ +-#define IXP4XX_UART_XTAL 14745600 ++#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ ++#define IXP4XX_UART_XTAL 14745600 + + /* + * This structure provide a means for the board setup code +@@ -138,7 +138,7 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + */ + /* GPIO pin types */ + #define IXP4XX_GPIO_OUT 0x1 +-#define IXP4XX_GPIO_IN0x2 ++#define IXP4XX_GPIO_IN0x2 + + /* GPIO signal types */ + #define IXP4XX_GPIO_LOW 0 +@@ -150,10 +150,14 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + + static inline void gpio_line_config(u8 line, u32 direction) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (direction == IXP4XX_GPIO_IN) + *IXP4XX_GPIO_GPOER |= (1 << line); + else + *IXP4XX_GPIO_GPOER &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + static inline void gpio_line_get(u8 line, int *value) +@@ -163,11 +167,14 @@ static inline void gpio_line_get(u8 line, int *value) + + static inline void gpio_line_set(u8 line, int value) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (value == IXP4XX_GPIO_HIGH) + *IXP4XX_GPIO_GPOUTR |= (1 << line); + else if (value == IXP4XX_GPIO_LOW) + *IXP4XX_GPIO_GPOUTR &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + #endif // __ASSEMBLY__ +- diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 380be0c..28a8c3c 100644 --- a/arch/arm/mach-mx3/devices.c @@ -5495,6 +5550,35 @@ index 63c5ab6..089b68f 100644 } } } +diff --git a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +index 0d3829a..873f883 100644 +--- a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +@@ -32,9 +32,9 @@ static int sa1100_direction_input(struct gpio_chip *chip, unsigned offset) + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + GPDR &= ~GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + +@@ -42,10 +42,10 @@ static int sa1100_direction_output(struct gpio_chip *chip, unsigned offset, int + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + sa1100_gpio_set(chip, offset, value); + GPDR |= GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + diff --git a/arch/arm/mach-sa1100/irq.c b/ar
[Xenomai-git] Gilles Chanteperdrix : arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6. 31-1.16-02, 2.6.33-1.17-02
Module: xenomai-head Branch: master Commit: e5e017db0837e9e4732932dc8a0ca6e8cc5d2606 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=e5e017db0837e9e4732932dc8a0ca6e8cc5d2606 Author: Gilles Chanteperdrix Date: Sun Aug 1 19:14:56 2010 +0200 arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6.31-1.16-02, 2.6.33-1.17-02 --- patch => adeos-ipipe-2.6.30-arm-1.15-03.patch} | 275 - patch => adeos-ipipe-2.6.31-arm-1.16-02.patch} | 427 +++- patch => adeos-ipipe-2.6.33-arm-1.17-02.patch} | 315 +-- 3 files changed, 861 insertions(+), 156 deletions(-) diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch similarity index 98% rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch index 70b4925..3a114fd 100644 --- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch +++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch @@ -466,7 +466,7 @@ index 000..28dc372 +#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 000..7d9b735 +index 000..bb5cc43 --- /dev/null +++ b/arch/arm/include/asm/ipipe.h @@ -0,0 +1,274 @@ @@ -501,10 +501,10 @@ index 000..7d9b735 +#include +#include /* For __IPIPE_FEATURE_PIC_MUTE */ + -+#define IPIPE_ARCH_STRING "1.15-02" ++#define IPIPE_ARCH_STRING "1.15-03" +#define IPIPE_MAJOR_NUMBER1 +#define IPIPE_MINOR_NUMBER15 -+#define IPIPE_PATCH_NUMBER2 ++#define IPIPE_PATCH_NUMBER3 + +#ifdef CONFIG_SMP +#error "I-pipe/arm: SMP not yet implemented" @@ -4815,6 +4815,61 @@ index 1e93dfe..8374fa2 100644 +EXPORT_SYMBOL(__ipipe_mach_release_timer); + +#endif /* CONFIG_IPIPE */ +diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +index e824c02..126b297 100644 +--- a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +@@ -72,8 +72,8 @@ extern unsigned long ixp4xx_exp_bus_size; + /* + * Clock Speed Definitions. + */ +-#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ +-#define IXP4XX_UART_XTAL 14745600 ++#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ ++#define IXP4XX_UART_XTAL 14745600 + + /* + * This structure provide a means for the board setup code +@@ -138,7 +138,7 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + */ + /* GPIO pin types */ + #define IXP4XX_GPIO_OUT 0x1 +-#define IXP4XX_GPIO_IN0x2 ++#define IXP4XX_GPIO_IN0x2 + + /* GPIO signal types */ + #define IXP4XX_GPIO_LOW 0 +@@ -150,10 +150,14 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + + static inline void gpio_line_config(u8 line, u32 direction) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (direction == IXP4XX_GPIO_IN) + *IXP4XX_GPIO_GPOER |= (1 << line); + else + *IXP4XX_GPIO_GPOER &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + static inline void gpio_line_get(u8 line, int *value) +@@ -163,11 +167,14 @@ static inline void gpio_line_get(u8 line, int *value) + + static inline void gpio_line_set(u8 line, int value) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (value == IXP4XX_GPIO_HIGH) + *IXP4XX_GPIO_GPOUTR |= (1 << line); + else if (value == IXP4XX_GPIO_LOW) + *IXP4XX_GPIO_GPOUTR &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + #endif // __ASSEMBLY__ +- diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 380be0c..28a8c3c 100644 --- a/arch/arm/mach-mx3/devices.c @@ -5495,6 +5550,35 @@ index 63c5ab6..089b68f 100644 } } } +diff --git a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +index 0d3829a..873f883 100644 +--- a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +@@ -32,9 +32,9 @@ static int sa1100_direction_input(struct gpio_chip *chip, unsigned offset) + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + GPDR &= ~GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + +@@ -42,10 +42,10 @@ static int sa1100_direction_output(struct gpio_chip *chip, unsigned offset, int + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + sa1100_gpio_set(chip, offset, value); + GPDR |= GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + diff --git a/arch/arm/mach-sa1100/irq.c b/ar
[Xenomai-git] Gilles Chanteperdrix : arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6. 31-1.16-02, 2.6.33-1.17-02
Module: xenomai-2.5 Branch: master Commit: 004822ac8f224280c7f16286ce23d90c4994ef88 URL: http://git.xenomai.org/?p=xenomai-2.5.git;a=commit;h=004822ac8f224280c7f16286ce23d90c4994ef88 Author: Gilles Chanteperdrix Date: Sun Aug 1 19:14:56 2010 +0200 arm: upgrade adeos patches to 2.6.30-1.15-02, 2.6.31-1.16-02, 2.6.33-1.17-02 --- patch => adeos-ipipe-2.6.30-arm-1.15-03.patch} | 275 - patch => adeos-ipipe-2.6.31-arm-1.16-02.patch} | 427 +++- patch => adeos-ipipe-2.6.33-arm-1.17-02.patch} | 315 +-- 3 files changed, 861 insertions(+), 156 deletions(-) diff --git a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch similarity index 98% rename from ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch rename to ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch index 70b4925..3a114fd 100644 --- a/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-02.patch +++ b/ksrc/arch/arm/patches/adeos-ipipe-2.6.30-arm-1.15-03.patch @@ -466,7 +466,7 @@ index 000..28dc372 +#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 000..7d9b735 +index 000..bb5cc43 --- /dev/null +++ b/arch/arm/include/asm/ipipe.h @@ -0,0 +1,274 @@ @@ -501,10 +501,10 @@ index 000..7d9b735 +#include +#include /* For __IPIPE_FEATURE_PIC_MUTE */ + -+#define IPIPE_ARCH_STRING "1.15-02" ++#define IPIPE_ARCH_STRING "1.15-03" +#define IPIPE_MAJOR_NUMBER1 +#define IPIPE_MINOR_NUMBER15 -+#define IPIPE_PATCH_NUMBER2 ++#define IPIPE_PATCH_NUMBER3 + +#ifdef CONFIG_SMP +#error "I-pipe/arm: SMP not yet implemented" @@ -4815,6 +4815,61 @@ index 1e93dfe..8374fa2 100644 +EXPORT_SYMBOL(__ipipe_mach_release_timer); + +#endif /* CONFIG_IPIPE */ +diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +index e824c02..126b297 100644 +--- a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h +@@ -72,8 +72,8 @@ extern unsigned long ixp4xx_exp_bus_size; + /* + * Clock Speed Definitions. + */ +-#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ +-#define IXP4XX_UART_XTAL 14745600 ++#define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66Mhzi APB BUS */ ++#define IXP4XX_UART_XTAL 14745600 + + /* + * This structure provide a means for the board setup code +@@ -138,7 +138,7 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + */ + /* GPIO pin types */ + #define IXP4XX_GPIO_OUT 0x1 +-#define IXP4XX_GPIO_IN0x2 ++#define IXP4XX_GPIO_IN0x2 + + /* GPIO signal types */ + #define IXP4XX_GPIO_LOW 0 +@@ -150,10 +150,14 @@ extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); + + static inline void gpio_line_config(u8 line, u32 direction) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (direction == IXP4XX_GPIO_IN) + *IXP4XX_GPIO_GPOER |= (1 << line); + else + *IXP4XX_GPIO_GPOER &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + static inline void gpio_line_get(u8 line, int *value) +@@ -163,11 +167,14 @@ static inline void gpio_line_get(u8 line, int *value) + + static inline void gpio_line_set(u8 line, int value) + { ++ unsigned long flags; ++ ++ local_irq_save_hw(flags); + if (value == IXP4XX_GPIO_HIGH) + *IXP4XX_GPIO_GPOUTR |= (1 << line); + else if (value == IXP4XX_GPIO_LOW) + *IXP4XX_GPIO_GPOUTR &= ~(1 << line); ++ local_irq_restore_hw(flags); + } + + #endif // __ASSEMBLY__ +- diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 380be0c..28a8c3c 100644 --- a/arch/arm/mach-mx3/devices.c @@ -5495,6 +5550,35 @@ index 63c5ab6..089b68f 100644 } } } +diff --git a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +index 0d3829a..873f883 100644 +--- a/arch/arm/mach-sa1100/gpio.c b/arch/arm/mach-sa1100/gpio.c +@@ -32,9 +32,9 @@ static int sa1100_direction_input(struct gpio_chip *chip, unsigned offset) + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + GPDR &= ~GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + +@@ -42,10 +42,10 @@ static int sa1100_direction_output(struct gpio_chip *chip, unsigned offset, int + { + unsigned long flags; + +- local_irq_save(flags); ++ local_irq_save_hw(flags); + sa1100_gpio_set(chip, offset, value); + GPDR |= GPIO_GPIO(offset); +- local_irq_restore(flags); ++ local_irq_restore_hw(flags); + return 0; + } + diff --git a/arch/arm/mach-sa1100/irq.c b/arch