git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
arm
/
mach-footbridge
/
dc21285.c
diff --git
a/arch/arm/mach-footbridge/dc21285.c
b/arch/arm/mach-footbridge/dc21285.c
index
e79884e
..
1463330
100644
(file)
--- a/
arch/arm/mach-footbridge/dc21285.c
+++ b/
arch/arm/mach-footbridge/dc21285.c
@@
-16,6
+16,7
@@
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/ioport.h>
+#include <linux/irq.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/irq.h>
@@
-35,7
+36,6
@@
extern int setup_arm_irq(int, struct irqaction *);
extern void pcibios_report_status(u_int status_mask, int warn);
extern int setup_arm_irq(int, struct irqaction *);
extern void pcibios_report_status(u_int status_mask, int warn);
-extern void register_isa_ports(unsigned int, unsigned int, unsigned int);
static unsigned long
dc21285_base_address(struct pci_bus *bus, unsigned int devfn)
static unsigned long
dc21285_base_address(struct pci_bus *bus, unsigned int devfn)
@@
-70,16
+70,16
@@
dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where,
if (addr)
switch (size) {
case 1:
if (addr)
switch (size) {
case 1:
- asm("ldr
%?b
%0, [%1, %2]"
- : "=r" (v) : "r" (addr), "r" (where));
+ asm("ldr
b
%0, [%1, %2]"
+ : "=r" (v) : "r" (addr), "r" (where)
: "cc"
);
break;
case 2:
break;
case 2:
- asm("ldr
%?h
%0, [%1, %2]"
- : "=r" (v) : "r" (addr), "r" (where));
+ asm("ldr
h
%0, [%1, %2]"
+ : "=r" (v) : "r" (addr), "r" (where)
: "cc"
);
break;
case 4:
break;
case 4:
- asm("ldr
%?
%0, [%1, %2]"
- : "=r" (v) : "r" (addr), "r" (where));
+ asm("ldr
%0, [%1, %2]"
+ : "=r" (v) : "r" (addr), "r" (where)
: "cc"
);
break;
}
break;
}
@@
-104,16
+104,19
@@
dc21285_write_config(struct pci_bus *bus, unsigned int devfn, int where,
if (addr)
switch (size) {
case 1:
if (addr)
switch (size) {
case 1:
- asm("str%?b %0, [%1, %2]"
- : : "r" (value), "r" (addr), "r" (where));
+ asm("strb %0, [%1, %2]"
+ : : "r" (value), "r" (addr), "r" (where)
+ : "cc");
break;
case 2:
break;
case 2:
- asm("str%?h %0, [%1, %2]"
- : : "r" (value), "r" (addr), "r" (where));
+ asm("strh %0, [%1, %2]"
+ : : "r" (value), "r" (addr), "r" (where)
+ : "cc");
break;
case 4:
break;
case 4:
- asm("str%? %0, [%1, %2]"
- : : "r" (value), "r" (addr), "r" (where));
+ asm("str %0, [%1, %2]"
+ : : "r" (value), "r" (addr), "r" (where)
+ : "cc");
break;
}
break;
}
@@
-152,7
+155,7
@@
static void dc21285_enable_error(unsigned long __data)
/*
* Warn on PCI errors.
*/
/*
* Warn on PCI errors.
*/
-static irqreturn_t dc21285_abort_irq(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t dc21285_abort_irq(int irq, void *dev_id)
{
unsigned int cmd;
unsigned int status;
{
unsigned int cmd;
unsigned int status;
@@
-163,7
+166,7
@@
static irqreturn_t dc21285_abort_irq(int irq, void *dev_id, struct pt_regs *regs
if (status & PCI_STATUS_REC_MASTER_ABORT) {
printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n",
if (status & PCI_STATUS_REC_MASTER_ABORT) {
printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n",
- instruction_pointer(
regs
));
+ instruction_pointer(
get_irq_regs()
));
cmd |= PCI_STATUS_REC_MASTER_ABORT << 16;
}
cmd |= PCI_STATUS_REC_MASTER_ABORT << 16;
}
@@
-182,7
+185,7
@@
static irqreturn_t dc21285_abort_irq(int irq, void *dev_id, struct pt_regs *regs
return IRQ_HANDLED;
}
return IRQ_HANDLED;
}
-static irqreturn_t dc21285_serr_irq(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t dc21285_serr_irq(int irq, void *dev_id)
{
struct timer_list *timer = dev_id;
unsigned int cntl;
{
struct timer_list *timer = dev_id;
unsigned int cntl;
@@
-204,7
+207,7
@@
static irqreturn_t dc21285_serr_irq(int irq, void *dev_id, struct pt_regs *regs)
return IRQ_HANDLED;
}
return IRQ_HANDLED;
}
-static irqreturn_t dc21285_discard_irq(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t dc21285_discard_irq(int irq, void *dev_id)
{
printk(KERN_DEBUG "PCI: discard timer expired\n");
*CSR_SA110_CNTL &= 0xffffde07;
{
printk(KERN_DEBUG "PCI: discard timer expired\n");
*CSR_SA110_CNTL &= 0xffffde07;
@@
-212,7
+215,7
@@
static irqreturn_t dc21285_discard_irq(int irq, void *dev_id, struct pt_regs *re
return IRQ_HANDLED;
}
return IRQ_HANDLED;
}
-static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id)
{
unsigned int cmd;
{
unsigned int cmd;
@@
-226,7
+229,7
@@
static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id, struct pt_regs *re
return IRQ_HANDLED;
}
return IRQ_HANDLED;
}
-static irqreturn_t dc21285_parity_irq(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t dc21285_parity_irq(int irq, void *dev_id)
{
struct timer_list *timer = dev_id;
unsigned int cmd;
{
struct timer_list *timer = dev_id;
unsigned int cmd;
@@
-255,14
+258,12
@@
int __init dc21285_setup(int nr, struct pci_sys_data *sys)
if (nr || !footbridge_cfn_mode())
return 0;
if (nr || !footbridge_cfn_mode())
return 0;
- res = k
m
alloc(sizeof(struct resource) * 2, GFP_KERNEL);
+ res = k
z
alloc(sizeof(struct resource) * 2, GFP_KERNEL);
if (!res) {
printk("out of memory for root bus resources");
return 0;
}
if (!res) {
printk("out of memory for root bus resources");
return 0;
}
- memset(res, 0, sizeof(struct resource) * 2);
-
res[0].flags = IORESOURCE_MEM;
res[0].name = "Footbridge non-prefetch";
res[1].flags = IORESOURCE_MEM | IORESOURCE_PREFETCH;
res[0].flags = IORESOURCE_MEM;
res[0].name = "Footbridge non-prefetch";
res[1].flags = IORESOURCE_MEM | IORESOURCE_PREFETCH;
@@
-334,15
+335,15
@@
void __init dc21285_preinit(void)
/*
* We don't care if these fail.
*/
/*
* We don't care if these fail.
*/
- request_irq(IRQ_PCI_SERR, dc21285_serr_irq,
SA_INTERRUPT
,
+ request_irq(IRQ_PCI_SERR, dc21285_serr_irq,
IRQF_DISABLED
,
"PCI system error", &serr_timer);
"PCI system error", &serr_timer);
- request_irq(IRQ_PCI_PERR, dc21285_parity_irq,
SA_INTERRUPT
,
+ request_irq(IRQ_PCI_PERR, dc21285_parity_irq,
IRQF_DISABLED
,
"PCI parity error", &perr_timer);
"PCI parity error", &perr_timer);
- request_irq(IRQ_PCI_ABORT, dc21285_abort_irq,
SA_INTERRUPT
,
+ request_irq(IRQ_PCI_ABORT, dc21285_abort_irq,
IRQF_DISABLED
,
"PCI abort", NULL);
"PCI abort", NULL);
- request_irq(IRQ_DISCARD_TIMER, dc21285_discard_irq,
SA_INTERRUPT
,
+ request_irq(IRQ_DISCARD_TIMER, dc21285_discard_irq,
IRQF_DISABLED
,
"Discard timer", NULL);
"Discard timer", NULL);
- request_irq(IRQ_PCI_DPERR, dc21285_dparity_irq,
SA_INTERRUPT
,
+ request_irq(IRQ_PCI_DPERR, dc21285_dparity_irq,
IRQF_DISABLED
,
"PCI data parity", NULL);
if (cfn_mode) {
"PCI data parity", NULL);
if (cfn_mode) {