* [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code. @ 2009-11-23 19:40 Manuel Lauss 2009-11-23 19:40 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Manuel Lauss 2009-11-23 23:17 ` [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Ralf Baechle 0 siblings, 2 replies; 9+ messages in thread From: Manuel Lauss @ 2009-11-23 19:40 UTC (permalink / raw) To: Linux-MIPS; +Cc: Manuel Lauss, Manuel Lauss From: Manuel Lauss <mlau@msc-ge.com> Remove the cpu subtype cpp macros in favor of runtime detection, to improve compile coverage of the alchemy common code. (Increases kernel size by 700 bytes). Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> --- arch/mips/alchemy/common/gpiolib-au1000.c | 10 +-- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 90 ++++++++++++----------- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/arch/mips/alchemy/common/gpiolib-au1000.c b/arch/mips/alchemy/common/gpiolib-au1000.c index 1bfa91f..c8e1a94 100644 --- a/arch/mips/alchemy/common/gpiolib-au1000.c +++ b/arch/mips/alchemy/common/gpiolib-au1000.c @@ -36,7 +36,6 @@ #include <asm/mach-au1x00/au1000.h> #include <asm/mach-au1x00/gpio.h> -#if !defined(CONFIG_SOC_AU1000) static int gpio2_get(struct gpio_chip *chip, unsigned offset) { return alchemy_gpio2_get_value(offset + ALCHEMY_GPIO2_BASE); @@ -63,7 +62,7 @@ static int gpio2_to_irq(struct gpio_chip *chip, unsigned offset) { return alchemy_gpio2_to_irq(offset + ALCHEMY_GPIO2_BASE); } -#endif /* !defined(CONFIG_SOC_AU1000) */ + static int gpio1_get(struct gpio_chip *chip, unsigned offset) { @@ -104,7 +103,6 @@ struct gpio_chip alchemy_gpio_chip[] = { .base = ALCHEMY_GPIO1_BASE, .ngpio = ALCHEMY_GPIO1_NUM, }, -#if !defined(CONFIG_SOC_AU1000) [1] = { .label = "alchemy-gpio2", .direction_input = gpio2_direction_input, @@ -115,15 +113,13 @@ struct gpio_chip alchemy_gpio_chip[] = { .base = ALCHEMY_GPIO2_BASE, .ngpio = ALCHEMY_GPIO2_NUM, }, -#endif }; static int __init alchemy_gpiolib_init(void) { gpiochip_add(&alchemy_gpio_chip[0]); -#if !defined(CONFIG_SOC_AU1000) - gpiochip_add(&alchemy_gpio_chip[1]); -#endif + if (alchemy_get_cputype() != ALCHEMY_CPU_AU1000) + gpiochip_add(&alchemy_gpio_chip[1]); return 0; } diff --git a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h b/arch/mips/include/asm/mach-au1x00/gpio-au1000.h index 9cf32d9..62d2f13 100644 --- a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h +++ b/arch/mips/include/asm/mach-au1x00/gpio-au1000.h @@ -236,19 +236,19 @@ static inline int alchemy_gpio1_is_valid(int gpio) static inline int alchemy_gpio1_to_irq(int gpio) { -#if defined(CONFIG_SOC_AU1000) - return au1000_gpio1_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1100) - return au1100_gpio1_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1500) - return au1500_gpio1_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1550) - return au1550_gpio1_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1200) - return au1200_gpio1_to_irq(gpio); -#else + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1000: + return au1000_gpio1_to_irq(gpio); + case ALCHEMY_CPU_AU1100: + return au1100_gpio1_to_irq(gpio); + case ALCHEMY_CPU_AU1500: + return au1500_gpio1_to_irq(gpio); + case ALCHEMY_CPU_AU1550: + return au1550_gpio1_to_irq(gpio); + case ALCHEMY_CPU_AU1200: + return au1200_gpio1_to_irq(gpio); + } return -ENXIO; -#endif } /* @@ -306,19 +306,19 @@ static inline int alchemy_gpio2_is_valid(int gpio) static inline int alchemy_gpio2_to_irq(int gpio) { -#if defined(CONFIG_SOC_AU1000) - return au1000_gpio2_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1100) - return au1100_gpio2_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1500) - return au1500_gpio2_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1550) - return au1550_gpio2_to_irq(gpio); -#elif defined(CONFIG_SOC_AU1200) - return au1200_gpio2_to_irq(gpio); -#else + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1000: + return au1000_gpio2_to_irq(gpio); + case ALCHEMY_CPU_AU1100: + return au1100_gpio2_to_irq(gpio); + case ALCHEMY_CPU_AU1500: + return au1500_gpio2_to_irq(gpio); + case ALCHEMY_CPU_AU1550: + return au1550_gpio2_to_irq(gpio); + case ALCHEMY_CPU_AU1200: + return au1200_gpio2_to_irq(gpio); + } return -ENXIO; -#endif } /**********************************************************************/ @@ -374,10 +374,13 @@ static inline void alchemy_gpio2_enable_int(int gpio2) gpio2 -= ALCHEMY_GPIO2_BASE; -#if defined(CONFIG_SOC_AU1100) || defined(CONFIG_SOC_AU1500) /* Au1100/Au1500 have GPIO208-215 enable bits at 0..7 */ - gpio2 -= 8; -#endif + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1100: + case ALCHEMY_CPU_AU1500: + gpio2 -= 8; + } + local_irq_save(flags); __alchemy_gpio2_mod_int(gpio2, 1); local_irq_restore(flags); @@ -395,10 +398,13 @@ static inline void alchemy_gpio2_disable_int(int gpio2) gpio2 -= ALCHEMY_GPIO2_BASE; -#if defined(CONFIG_SOC_AU1100) || defined(CONFIG_SOC_AU1500) /* Au1100/Au1500 have GPIO208-215 enable bits at 0..7 */ - gpio2 -= 8; -#endif + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1100: + case ALCHEMY_CPU_AU1500: + gpio2 -= 8; + } + local_irq_save(flags); __alchemy_gpio2_mod_int(gpio2, 0); local_irq_restore(flags); @@ -484,19 +490,19 @@ static inline int alchemy_gpio_to_irq(int gpio) static inline int alchemy_irq_to_gpio(int irq) { -#if defined(CONFIG_SOC_AU1000) - return au1000_irq_to_gpio(irq); -#elif defined(CONFIG_SOC_AU1100) - return au1100_irq_to_gpio(irq); -#elif defined(CONFIG_SOC_AU1500) - return au1500_irq_to_gpio(irq); -#elif defined(CONFIG_SOC_AU1550) - return au1550_irq_to_gpio(irq); -#elif defined(CONFIG_SOC_AU1200) - return au1200_irq_to_gpio(irq); -#else + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1000: + return au1000_irq_to_gpio(irq); + case ALCHEMY_CPU_AU1100: + return au1100_irq_to_gpio(irq); + case ALCHEMY_CPU_AU1500: + return au1500_irq_to_gpio(irq); + case ALCHEMY_CPU_AU1550: + return au1550_irq_to_gpio(irq); + case ALCHEMY_CPU_AU1200: + return au1200_irq_to_gpio(irq); + } return -ENXIO; -#endif } /**********************************************************************/ -- 1.6.5.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus 2009-11-23 19:40 [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Manuel Lauss @ 2009-11-23 19:40 ` Manuel Lauss 2009-11-23 19:40 ` [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection Manuel Lauss 2009-11-23 23:17 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Ralf Baechle 2009-11-23 23:17 ` [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Ralf Baechle 1 sibling, 2 replies; 9+ messages in thread From: Manuel Lauss @ 2009-11-23 19:40 UTC (permalink / raw) To: Linux-MIPS; +Cc: Manuel Lauss Use the GPIO config symbol to only build Au1000 interrupt code on chips with compatible hw. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> --- arch/mips/alchemy/Kconfig | 14 +++++++------- arch/mips/alchemy/common/Makefile | 6 ++++-- arch/mips/include/asm/mach-au1x00/gpio.h | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/arch/mips/alchemy/Kconfig b/arch/mips/alchemy/Kconfig index 22f4ff5..df3b1a7 100644 --- a/arch/mips/alchemy/Kconfig +++ b/arch/mips/alchemy/Kconfig @@ -1,5 +1,5 @@ -# au1000-style gpio -config ALCHEMY_GPIO_AU1000 +# au1000-style gpio and interrupt controllers +config ALCHEMY_GPIOINT_AU1000 bool # select this in your board config if you don't want to use the gpio @@ -133,27 +133,27 @@ endchoice config SOC_AU1000 bool select SOC_AU1X00 - select ALCHEMY_GPIO_AU1000 + select ALCHEMY_GPIOINT_AU1000 config SOC_AU1100 bool select SOC_AU1X00 - select ALCHEMY_GPIO_AU1000 + select ALCHEMY_GPIOINT_AU1000 config SOC_AU1500 bool select SOC_AU1X00 - select ALCHEMY_GPIO_AU1000 + select ALCHEMY_GPIOINT_AU1000 config SOC_AU1550 bool select SOC_AU1X00 - select ALCHEMY_GPIO_AU1000 + select ALCHEMY_GPIOINT_AU1000 config SOC_AU1200 bool select SOC_AU1X00 - select ALCHEMY_GPIO_AU1000 + select ALCHEMY_GPIOINT_AU1000 config SOC_AU1X00 bool diff --git a/arch/mips/alchemy/common/Makefile b/arch/mips/alchemy/common/Makefile index abf0eb1..f46b351 100644 --- a/arch/mips/alchemy/common/Makefile +++ b/arch/mips/alchemy/common/Makefile @@ -5,14 +5,16 @@ # Makefile for the Alchemy Au1xx0 CPUs, generic files. # -obj-y += prom.o irq.o time.o reset.o \ +obj-y += prom.o time.o reset.o \ clocks.o platform.o power.o setup.o \ sleeper.o dma.o dbdma.o +obj-$(CONFIG_ALCHEMY_GPIOINT_AU1000) += irq.o + # optional gpiolib support ifeq ($(CONFIG_ALCHEMY_GPIO_INDIRECT),) ifeq ($(CONFIG_GPIOLIB),y) - obj-$(CONFIG_ALCHEMY_GPIO_AU1000) += gpiolib-au1000.o + obj-$(CONFIG_ALCHEMY_GPIOINT_AU1000) += gpiolib-au1000.o endif endif diff --git a/arch/mips/include/asm/mach-au1x00/gpio.h b/arch/mips/include/asm/mach-au1x00/gpio.h index f9b7d41..c3f60cd 100644 --- a/arch/mips/include/asm/mach-au1x00/gpio.h +++ b/arch/mips/include/asm/mach-au1x00/gpio.h @@ -1,7 +1,7 @@ #ifndef _ALCHEMY_GPIO_H_ #define _ALCHEMY_GPIO_H_ -#if defined(CONFIG_ALCHEMY_GPIO_AU1000) +#if defined(CONFIG_ALCHEMY_GPIOINT_AU1000) #include <asm/mach-au1x00/gpio-au1000.h> -- 1.6.5.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection 2009-11-23 19:40 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Manuel Lauss @ 2009-11-23 19:40 ` Manuel Lauss 2009-11-23 23:17 ` Ralf Baechle 2009-11-24 14:27 ` Sergei Shtylyov 2009-11-23 23:17 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Ralf Baechle 1 sibling, 2 replies; 9+ messages in thread From: Manuel Lauss @ 2009-11-23 19:40 UTC (permalink / raw) To: Linux-MIPS; +Cc: Manuel Lauss Use runtime CPU detection instead of relying on preprocessor symbols. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> --- arch/mips/alchemy/common/irq.c | 97 ++++++++++++++++++++++------------------ 1 files changed, 54 insertions(+), 43 deletions(-) diff --git a/arch/mips/alchemy/common/irq.c b/arch/mips/alchemy/common/irq.c index 960a3ee..b2821ac 100644 --- a/arch/mips/alchemy/common/irq.c +++ b/arch/mips/alchemy/common/irq.c @@ -51,8 +51,9 @@ struct au1xxx_irqmap { int im_irq; int im_type; int im_request; /* set 1 to get higher priority */ -} au1xxx_ic0_map[] __initdata = { -#if defined(CONFIG_SOC_AU1000) +}; + +struct au1xxx_irqmap au1000_irqmap[] __initdata = { { AU1000_UART0_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1000_UART1_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1000_UART2_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, @@ -84,9 +85,10 @@ struct au1xxx_irqmap { { AU1000_MAC0_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1000_MAC1_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1000_AC97C_INT, IRQ_TYPE_EDGE_RISING, 0 }, + { -1, }, +}; -#elif defined(CONFIG_SOC_AU1500) - +struct au1xxx_irqmap au1500_irqmap[] __initdata = { { AU1500_UART0_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1500_PCI_INTA, IRQ_TYPE_LEVEL_LOW, 0 }, { AU1500_PCI_INTB, IRQ_TYPE_LEVEL_LOW, 0 }, @@ -116,9 +118,10 @@ struct au1xxx_irqmap { { AU1500_MAC0_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1500_MAC1_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1500_AC97C_INT, IRQ_TYPE_EDGE_RISING, 0 }, + { -1, }, +}; -#elif defined(CONFIG_SOC_AU1100) - +struct au1xxx_irqmap au1100_irqmap[] __initdata = { { AU1100_UART0_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1100_UART1_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1100_SD_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, @@ -150,9 +153,10 @@ struct au1xxx_irqmap { { AU1100_MAC0_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1100_LCD_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1100_AC97C_INT, IRQ_TYPE_EDGE_RISING, 0 }, + { -1, }, +}; -#elif defined(CONFIG_SOC_AU1550) - +struct au1xxx_irqmap au1550_irqmap[] __initdata = { { AU1550_UART0_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1550_PCI_INTA, IRQ_TYPE_LEVEL_LOW, 0 }, { AU1550_PCI_INTB, IRQ_TYPE_LEVEL_LOW, 0 }, @@ -181,9 +185,10 @@ struct au1xxx_irqmap { { AU1550_USB_HOST_INT, IRQ_TYPE_LEVEL_LOW, 0 }, { AU1550_MAC0_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1550_MAC1_DMA_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, + { -1, }, +}; -#elif defined(CONFIG_SOC_AU1200) - +struct au1xxx_irqmap au1200_irqmap[] __initdata = { { AU1200_UART0_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1200_SWT_INT, IRQ_TYPE_EDGE_RISING, 0 }, { AU1200_SD_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, @@ -207,10 +212,7 @@ struct au1xxx_irqmap { { AU1200_USB_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1200_LCD_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, { AU1200_MAE_BOTH_INT, IRQ_TYPE_LEVEL_HIGH, 0 }, - -#else -#error "Error: Unknown Alchemy SOC" -#endif + { -1, }, }; @@ -547,36 +549,9 @@ handle: do_IRQ(off); } -/* setup edge/level and assign request 0/1 */ -static void __init setup_irqmap(struct au1xxx_irqmap *map, int count) +static void __init au1000_init_irq(struct au1xxx_irqmap *map) { unsigned int bit, irq_nr; - - while (count--) { - irq_nr = map[count].im_irq; - - if (((irq_nr < AU1000_INTC0_INT_BASE) || - (irq_nr >= AU1000_INTC0_INT_BASE + 32)) && - ((irq_nr < AU1000_INTC1_INT_BASE) || - (irq_nr >= AU1000_INTC1_INT_BASE + 32))) - continue; - - if (irq_nr >= AU1000_INTC1_INT_BASE) { - bit = irq_nr - AU1000_INTC1_INT_BASE; - if (map[count].im_request) - au_writel(1 << bit, IC1_ASSIGNSET); - } else { - bit = irq_nr - AU1000_INTC0_INT_BASE; - if (map[count].im_request) - au_writel(1 << bit, IC0_ASSIGNSET); - } - - au1x_ic_settype(irq_nr, map[count].im_type); - } -} - -void __init arch_init_irq(void) -{ int i; /* @@ -620,7 +595,43 @@ void __init arch_init_irq(void) /* * Initialize IC0, which is fixed per processor. */ - setup_irqmap(au1xxx_ic0_map, ARRAY_SIZE(au1xxx_ic0_map)); + while (map->im_irq != -1) { + irq_nr = map->im_irq; + + if (irq_nr >= AU1000_INTC1_INT_BASE) { + bit = irq_nr - AU1000_INTC1_INT_BASE; + if (map->im_request) + au_writel(1 << bit, IC1_ASSIGNSET); + } else { + bit = irq_nr - AU1000_INTC0_INT_BASE; + if (map->im_request) + au_writel(1 << bit, IC0_ASSIGNSET); + } + + au1x_ic_settype(irq_nr, map->im_type); + ++map; + } set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3); } + +void __init arch_init_irq(void) +{ + switch (alchemy_get_cputype()) { + case ALCHEMY_CPU_AU1000: + au1000_init_irq(au1000_irqmap); + break; + case ALCHEMY_CPU_AU1500: + au1000_init_irq(au1500_irqmap); + break; + case ALCHEMY_CPU_AU1100: + au1000_init_irq(au1100_irqmap); + break; + case ALCHEMY_CPU_AU1550: + au1000_init_irq(au1550_irqmap); + break; + case ALCHEMY_CPU_AU1200: + au1000_init_irq(au1200_irqmap); + break; + } +} -- 1.6.5.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection 2009-11-23 19:40 ` [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection Manuel Lauss @ 2009-11-23 23:17 ` Ralf Baechle 2009-11-24 6:36 ` Manuel Lauss 2009-11-24 14:27 ` Sergei Shtylyov 1 sibling, 1 reply; 9+ messages in thread From: Ralf Baechle @ 2009-11-23 23:17 UTC (permalink / raw) To: Manuel Lauss; +Cc: Linux-MIPS, Manuel Lauss On Mon, Nov 23, 2009 at 08:40:02PM +0100, Manuel Lauss wrote: > Use runtime CPU detection instead of relying on preprocessor symbols. > > Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Thanks, queued for 2.6.33. Ralf ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection 2009-11-23 23:17 ` Ralf Baechle @ 2009-11-24 6:36 ` Manuel Lauss 0 siblings, 0 replies; 9+ messages in thread From: Manuel Lauss @ 2009-11-24 6:36 UTC (permalink / raw) To: Ralf Baechle; +Cc: Linux-MIPS, Manuel Lauss On Tue, Nov 24, 2009 at 12:17 AM, Ralf Baechle <ralf@linux-mips.org> wrote: > On Mon, Nov 23, 2009 at 08:40:02PM +0100, Manuel Lauss wrote: > >> Use runtime CPU detection instead of relying on preprocessor symbols. >> >> Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> > > Thanks, queued for 2.6.33. Thank you. Could you also please rename the file from "irq.c" to "irq-au1000.c" (and fix the Makefile). The new name better reflects what type of CPU it is supposed to work with. I'd send a patch, but I figure doing a "git mv" on your end is faster and preserves the history of the file. Thanks! Manuel Lauss ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection 2009-11-23 19:40 ` [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection Manuel Lauss 2009-11-23 23:17 ` Ralf Baechle @ 2009-11-24 14:27 ` Sergei Shtylyov 2009-11-24 15:10 ` mano 1 sibling, 1 reply; 9+ messages in thread From: Sergei Shtylyov @ 2009-11-24 14:27 UTC (permalink / raw) To: Manuel Lauss; +Cc: Linux-MIPS, Manuel Lauss Hello. Manuel Lauss wrote: > Use runtime CPU detection instead of relying on preprocessor symbols. > Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> [...] > @@ -547,36 +549,9 @@ handle: > do_IRQ(off); > } > > -/* setup edge/level and assign request 0/1 */ > -static void __init setup_irqmap(struct au1xxx_irqmap *map, int count) > +static void __init au1000_init_irq(struct au1xxx_irqmap *map) > { Perhaps au1xxx_inint_irq() would be a better name... WBR, Sergei ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection 2009-11-24 14:27 ` Sergei Shtylyov @ 2009-11-24 15:10 ` mano 0 siblings, 0 replies; 9+ messages in thread From: mano @ 2009-11-24 15:10 UTC (permalink / raw) To: Sergei Shtylyov; +Cc: Manuel Lauss, Linux-MIPS, Manuel Lauss Hi Sergei! On Tue, Nov 24, 2009 at 05:27:18PM +0300, Sergei Shtylyov wrote: > > Use runtime CPU detection instead of relying on preprocessor symbols. > > > Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> > > [...] > > > @@ -547,36 +549,9 @@ handle: > > do_IRQ(off); > > } > > > > -/* setup edge/level and assign request 0/1 */ > > -static void __init setup_irqmap(struct au1xxx_irqmap *map, int count) > > +static void __init au1000_init_irq(struct au1xxx_irqmap *map) > > { > > Perhaps au1xxx_inint_irq() would be a better name... I wanted to express that this is for au1000 and its compatible brethren since the Au1300 has a completely different IRQ and GPIO system which requires new code. Manuel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus 2009-11-23 19:40 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Manuel Lauss 2009-11-23 19:40 ` [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection Manuel Lauss @ 2009-11-23 23:17 ` Ralf Baechle 1 sibling, 0 replies; 9+ messages in thread From: Ralf Baechle @ 2009-11-23 23:17 UTC (permalink / raw) To: Manuel Lauss; +Cc: Linux-MIPS, Manuel Lauss On Mon, Nov 23, 2009 at 08:40:01PM +0100, Manuel Lauss wrote: > Use the GPIO config symbol to only build Au1000 interrupt code on > chips with compatible hw. > > Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Thanks, queued for 2.6.33. Ralf ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code. 2009-11-23 19:40 [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Manuel Lauss 2009-11-23 19:40 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Manuel Lauss @ 2009-11-23 23:17 ` Ralf Baechle 1 sibling, 0 replies; 9+ messages in thread From: Ralf Baechle @ 2009-11-23 23:17 UTC (permalink / raw) To: Manuel Lauss; +Cc: Linux-MIPS, Manuel Lauss, Manuel Lauss On Mon, Nov 23, 2009 at 08:40:00PM +0100, Manuel Lauss wrote: > Remove the cpu subtype cpp macros in favor of runtime detection, > to improve compile coverage of the alchemy common code. > (Increases kernel size by 700 bytes). > > Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Thanks, queued for 2.6.33. Ralf ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-11-24 15:12 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-11-23 19:40 [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Manuel Lauss 2009-11-23 19:40 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Manuel Lauss 2009-11-23 19:40 ` [PATCH 3/3] MIPS: Alchemy: irq: use runtime CPU type detection Manuel Lauss 2009-11-23 23:17 ` Ralf Baechle 2009-11-24 6:36 ` Manuel Lauss 2009-11-24 14:27 ` Sergei Shtylyov 2009-11-24 15:10 ` mano 2009-11-23 23:17 ` [PATCH 2/3] MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Ralf Baechle 2009-11-23 23:17 ` [PATCH 1/3] MIPS: Alchemy: use runtime cpu detection in GPIO code Ralf Baechle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).