Commit 41b6c373 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

parents 5f6b5517 26799e67
...@@ -128,8 +128,8 @@ aaec2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -128,8 +128,8 @@ aaec2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction aaec2000_timer_irq = { static struct irqaction aaec2000_timer_irq = {
.name = "AAEC-2000 Timer Tick", .name = "AAEC-2000 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = aaec2000_timer_interrupt .handler = aaec2000_timer_interrupt,
}; };
static void __init aaec2000_timer_init(void) static void __init aaec2000_timer_init(void)
......
...@@ -57,8 +57,8 @@ p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -57,8 +57,8 @@ p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction clps711x_timer_irq = { static struct irqaction clps711x_timer_irq = {
.name = "CLPS711x Timer Tick", .name = "CLPS711x Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = p720t_timer_interrupt .handler = p720t_timer_interrupt,
}; };
static void __init clps711x_timer_init(void) static void __init clps711x_timer_init(void)
......
...@@ -298,8 +298,8 @@ clps7500_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -298,8 +298,8 @@ clps7500_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction clps7500_timer_irq = { static struct irqaction clps7500_timer_irq = {
.name = "CLPS7500 Timer Tick", .name = "CLPS7500 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = clps7500_timer_interrupt .handler = clps7500_timer_interrupt,
}; };
/* /*
......
...@@ -173,8 +173,8 @@ ebsa110_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -173,8 +173,8 @@ ebsa110_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction ebsa110_timer_irq = { static struct irqaction ebsa110_timer_irq = {
.name = "EBSA110 Timer Tick", .name = "EBSA110 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = ebsa110_timer_interrupt .handler = ebsa110_timer_interrupt,
}; };
/* /*
......
...@@ -56,8 +56,8 @@ epxa10db_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -56,8 +56,8 @@ epxa10db_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction epxa10db_timer_irq = { static struct irqaction epxa10db_timer_irq = {
.name = "Excalibur Timer Tick", .name = "Excalibur Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = epxa10db_timer_interrupt .handler = epxa10db_timer_interrupt,
}; };
/* /*
......
...@@ -43,7 +43,7 @@ timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -43,7 +43,7 @@ timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction footbridge_timer_irq = { static struct irqaction footbridge_timer_irq = {
.name = "Timer1 timer tick", .name = "Timer1 timer tick",
.handler = timer1_interrupt, .handler = timer1_interrupt,
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
}; };
/* /*
......
...@@ -72,7 +72,7 @@ isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -72,7 +72,7 @@ isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction isa_timer_irq = { static struct irqaction isa_timer_irq = {
.name = "ISA timer tick", .name = "ISA timer tick",
.handler = isa_timer_interrupt, .handler = isa_timer_interrupt,
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
}; };
static void __init isa_timer_init(void) static void __init isa_timer_init(void)
......
...@@ -41,8 +41,8 @@ h7201_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -41,8 +41,8 @@ h7201_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction h7201_timer_irq = { static struct irqaction h7201_timer_irq = {
.name = "h7201 Timer Tick", .name = "h7201 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = h7201_timer_interrupt .handler = h7201_timer_interrupt,
}; };
/* /*
......
...@@ -171,8 +171,8 @@ static struct irqchip h7202_timerx_chip = { ...@@ -171,8 +171,8 @@ static struct irqchip h7202_timerx_chip = {
static struct irqaction h7202_timer_irq = { static struct irqaction h7202_timer_irq = {
.name = "h7202 Timer Tick", .name = "h7202 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = h7202_timer_interrupt .handler = h7202_timer_interrupt,
}; };
/* /*
......
...@@ -72,8 +72,8 @@ imx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -72,8 +72,8 @@ imx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction imx_timer_irq = { static struct irqaction imx_timer_irq = {
.name = "i.MX Timer Tick", .name = "i.MX Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = imx_timer_interrupt .handler = imx_timer_interrupt,
}; };
/* /*
......
...@@ -247,8 +247,8 @@ integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -247,8 +247,8 @@ integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction integrator_timer_irq = { static struct irqaction integrator_timer_irq = {
.name = "Integrator Timer Tick", .name = "Integrator Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = integrator_timer_interrupt .handler = integrator_timer_interrupt,
}; };
/* /*
......
...@@ -86,7 +86,7 @@ iop321_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -86,7 +86,7 @@ iop321_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction iop321_timer_irq = { static struct irqaction iop321_timer_irq = {
.name = "IOP321 Timer Tick", .name = "IOP321 Timer Tick",
.handler = iop321_timer_interrupt, .handler = iop321_timer_interrupt,
.flags = SA_INTERRUPT .flags = SA_INTERRUPT | SA_TIMER,
}; };
static void __init iop321_timer_init(void) static void __init iop321_timer_init(void)
......
...@@ -83,7 +83,7 @@ iop331_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -83,7 +83,7 @@ iop331_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction iop331_timer_irq = { static struct irqaction iop331_timer_irq = {
.name = "IOP331 Timer Tick", .name = "IOP331 Timer Tick",
.handler = iop331_timer_interrupt, .handler = iop331_timer_interrupt,
.flags = SA_INTERRUPT .flags = SA_INTERRUPT | SA_TIMER,
}; };
static void __init iop331_timer_init(void) static void __init iop331_timer_init(void)
......
...@@ -102,6 +102,11 @@ static struct map_desc ixp2000_io_desc[] __initdata = { ...@@ -102,6 +102,11 @@ static struct map_desc ixp2000_io_desc[] __initdata = {
.physical = IXP2000_PCI_CSR_PHYS_BASE, .physical = IXP2000_PCI_CSR_PHYS_BASE,
.length = IXP2000_PCI_CSR_SIZE, .length = IXP2000_PCI_CSR_SIZE,
.type = MT_DEVICE .type = MT_DEVICE
}, {
.virtual = IXP2000_MSF_VIRT_BASE,
.physical = IXP2000_MSF_PHYS_BASE,
.length = IXP2000_MSF_SIZE,
.type = MT_DEVICE
}, { }, {
.virtual = IXP2000_PCI_IO_VIRT_BASE, .virtual = IXP2000_PCI_IO_VIRT_BASE,
.physical = IXP2000_PCI_IO_PHYS_BASE, .physical = IXP2000_PCI_IO_PHYS_BASE,
...@@ -194,8 +199,8 @@ static int ixp2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -194,8 +199,8 @@ static int ixp2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction ixp2000_timer_irq = { static struct irqaction ixp2000_timer_irq = {
.name = "IXP2000 Timer Tick", .name = "IXP2000 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = ixp2000_timer_interrupt .handler = ixp2000_timer_interrupt,
}; };
void __init ixp2000_init_time(unsigned long tick_rate) void __init ixp2000_init_time(unsigned long tick_rate)
......
...@@ -42,12 +42,6 @@ ...@@ -42,12 +42,6 @@
#include <asm/mach/flash.h> #include <asm/mach/flash.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
void ixdp2400_init_irq(void)
{
ixdp2x00_init_irq(IXDP2800_CPLD_INT_STAT, IXDP2800_CPLD_INT_MASK, IXDP2400_NR_IRQS);
}
/************************************************************************* /*************************************************************************
* IXDP2800 timer tick * IXDP2800 timer tick
*************************************************************************/ *************************************************************************/
......
...@@ -298,8 +298,8 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs ...@@ -298,8 +298,8 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
static struct irqaction ixp4xx_timer_irq = { static struct irqaction ixp4xx_timer_irq = {
.name = "IXP4xx Timer Tick", .name = "IXP4xx Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = ixp4xx_timer_interrupt .handler = ixp4xx_timer_interrupt,
}; };
static void __init ixp4xx_timer_init(void) static void __init ixp4xx_timer_init(void)
......
...@@ -53,8 +53,8 @@ lh7a40x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -53,8 +53,8 @@ lh7a40x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction lh7a40x_timer_irq = { static struct irqaction lh7a40x_timer_irq = {
.name = "LHA740x Timer Tick", .name = "LHA740x Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = lh7a40x_timer_interrupt .handler = lh7a40x_timer_interrupt,
}; };
static void __init lh7a40x_timer_init(void) static void __init lh7a40x_timer_init(void)
......
...@@ -188,8 +188,8 @@ static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id, ...@@ -188,8 +188,8 @@ static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id,
static struct irqaction omap_mpu_timer_irq = { static struct irqaction omap_mpu_timer_irq = {
.name = "mpu timer", .name = "mpu timer",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = omap_mpu_timer_interrupt .handler = omap_mpu_timer_interrupt,
}; };
static unsigned long omap_mpu_timer1_overflows; static unsigned long omap_mpu_timer1_overflows;
...@@ -203,7 +203,7 @@ static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id, ...@@ -203,7 +203,7 @@ static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id,
static struct irqaction omap_mpu_timer1_irq = { static struct irqaction omap_mpu_timer1_irq = {
.name = "mpu timer1 overflow", .name = "mpu timer1 overflow",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT,
.handler = omap_mpu_timer1_interrupt .handler = omap_mpu_timer1_interrupt,
}; };
static __init void omap_init_mpu_timer(void) static __init void omap_init_mpu_timer(void)
...@@ -349,8 +349,8 @@ static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id, ...@@ -349,8 +349,8 @@ static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id,
static struct irqaction omap_32k_timer_irq = { static struct irqaction omap_32k_timer_irq = {
.name = "32KHz timer", .name = "32KHz timer",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = omap_32k_timer_interrupt .handler = omap_32k_timer_interrupt,
}; };
static __init void omap_init_32k_timer(void) static __init void omap_init_32k_timer(void)
......
...@@ -105,8 +105,8 @@ pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -105,8 +105,8 @@ pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction pxa_timer_irq = { static struct irqaction pxa_timer_irq = {
.name = "PXA Timer Tick", .name = "PXA Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = pxa_timer_interrupt .handler = pxa_timer_interrupt,
}; };
static void __init pxa_timer_init(void) static void __init pxa_timer_init(void)
......
...@@ -137,8 +137,8 @@ s3c2410_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -137,8 +137,8 @@ s3c2410_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction s3c2410_timer_irq = { static struct irqaction s3c2410_timer_irq = {
.name = "S3C2410 Timer Tick", .name = "S3C2410 Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = s3c2410_timer_interrupt .handler = s3c2410_timer_interrupt,
}; };
/* /*
......
...@@ -727,7 +727,7 @@ static void h3800_IRQ_demux(unsigned int irq, struct irqdesc *desc, struct pt_re ...@@ -727,7 +727,7 @@ static void h3800_IRQ_demux(unsigned int irq, struct irqdesc *desc, struct pt_re
static struct irqaction h3800_irq = { static struct irqaction h3800_irq = {
.name = "h3800_asic", .name = "h3800_asic",
.handler = h3800_IRQ_demux, .handler = h3800_IRQ_demux,
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
}; };
u32 kpio_int_shadow = 0; u32 kpio_int_shadow = 0;
......
...@@ -99,8 +99,8 @@ sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -99,8 +99,8 @@ sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction sa1100_timer_irq = { static struct irqaction sa1100_timer_irq = {
.name = "SA11xx Timer Tick", .name = "SA11xx Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = sa1100_timer_interrupt .handler = sa1100_timer_interrupt,
}; };
static void __init sa1100_timer_init(void) static void __init sa1100_timer_init(void)
......
...@@ -84,8 +84,8 @@ shark_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -84,8 +84,8 @@ shark_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static struct irqaction shark_timer_irq = { static struct irqaction shark_timer_irq = {
.name = "Shark Timer Tick", .name = "Shark Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = shark_timer_interrupt .handler = shark_timer_interrupt,
}; };
/* /*
......
...@@ -875,8 +875,8 @@ static irqreturn_t versatile_timer_interrupt(int irq, void *dev_id, struct pt_re ...@@ -875,8 +875,8 @@ static irqreturn_t versatile_timer_interrupt(int irq, void *dev_id, struct pt_re
static struct irqaction versatile_timer_irq = { static struct irqaction versatile_timer_irq = {
.name = "Versatile Timer Tick", .name = "Versatile Timer Tick",
.flags = SA_INTERRUPT, .flags = SA_INTERRUPT | SA_TIMER,
.handler = versatile_timer_interrupt .handler = versatile_timer_interrupt,
}; };
/* /*
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
* On board CPLD memory map * On board CPLD memory map
*/ */
#define IXDP2X00_PHYS_CPLD_BASE 0xc7000000 #define IXDP2X00_PHYS_CPLD_BASE 0xc7000000
#define IXDP2X00_VIRT_CPLD_BASE 0xfafff000 #define IXDP2X00_VIRT_CPLD_BASE 0xfe000000
#define IXDP2X00_CPLD_SIZE 0x00001000 #define IXDP2X00_CPLD_SIZE 0x00100000
#define IXDP2X00_CPLD_REG(x) \ #define IXDP2X00_CPLD_REG(x) \
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
#define __IXDP2X01_H__ #define __IXDP2X01_H__
#define IXDP2X01_PHYS_CPLD_BASE 0xc6024000 #define IXDP2X01_PHYS_CPLD_BASE 0xc6024000
#define IXDP2X01_VIRT_CPLD_BASE 0xfafff000 #define IXDP2X01_VIRT_CPLD_BASE 0xfe000000
#define IXDP2X01_CPLD_REGION_SIZE 0x00001000 #define IXDP2X01_CPLD_REGION_SIZE 0x00100000
#define IXDP2X01_CPLD_VIRT_REG(reg) (volatile unsigned long*)(IXDP2X01_VIRT_CPLD_BASE | reg) #define IXDP2X01_CPLD_VIRT_REG(reg) (volatile unsigned long*)(IXDP2X01_VIRT_CPLD_BASE | reg)
#define IXDP2X01_CPLD_PHYS_REG(reg) (volatile u32*)(IXDP2X01_PHYS_CPLD_BASE | reg) #define IXDP2X01_CPLD_PHYS_REG(reg) (volatile u32*)(IXDP2X01_PHYS_CPLD_BASE | reg)
......
...@@ -18,6 +18,21 @@ ...@@ -18,6 +18,21 @@
#ifndef _IXP2000_REGS_H_ #ifndef _IXP2000_REGS_H_
#define _IXP2000_REGS_H_ #define _IXP2000_REGS_H_
/*
* IXP2000 linux memory map:
*
* virt phys size
* fb000000 db000000 16M PCI CFG1
* fc000000 da000000 16M PCI CFG0
* fd000000 d8000000 16M PCI I/O
* fe[0-7]00000 8M per-platform mappings
* feb00000 c8000000 1M MSF
* fec00000 df000000 1M PCI CSRs
* fed00000 de000000 1M PCI CREG
* fee00000 d6000000 1M INTCTL
* fef00000 c0000000 1M CAP
*/
/* /*
* Static I/O regions. * Static I/O regions.
* *
...@@ -71,6 +86,10 @@ ...@@ -71,6 +86,10 @@
#define IXP2000_PCI_CSR_VIRT_BASE 0xfec00000 #define IXP2000_PCI_CSR_VIRT_BASE 0xfec00000
#define IXP2000_PCI_CSR_SIZE 0x00100000 #define IXP2000_PCI_CSR_SIZE 0x00100000
#define IXP2000_MSF_PHYS_BASE 0xc8000000
#define IXP2000_MSF_VIRT_BASE 0xfeb00000
#define IXP2000_MSF_SIZE 0x00100000
#define IXP2000_PCI_IO_PHYS_BASE 0xd8000000 #define IXP2000_PCI_IO_PHYS_BASE 0xd8000000
#define IXP2000_PCI_IO_VIRT_BASE 0xfd000000 #define IXP2000_PCI_IO_VIRT_BASE 0xfd000000
#define IXP2000_PCI_IO_SIZE 0x01000000 #define IXP2000_PCI_IO_SIZE 0x01000000
......
...@@ -17,4 +17,4 @@ ...@@ -17,4 +17,4 @@
* The vmalloc() routines leaves a hole of 4kB between each vmalloced * The vmalloc() routines leaves a hole of 4kB between each vmalloced
* area for the same reason. ;) * area for the same reason. ;)
*/ */
#define VMALLOC_END 0xfaffefff #define VMALLOC_END 0xfb000000
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment