diff options
Diffstat (limited to 'arch/sh/drivers/pci/ops-bigsur.c')
-rw-r--r-- | arch/sh/drivers/pci/ops-bigsur.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/arch/sh/drivers/pci/ops-bigsur.c b/arch/sh/drivers/pci/ops-bigsur.c index ae82c6ca05e5..5da501bd77b5 100644 --- a/arch/sh/drivers/pci/ops-bigsur.c +++ b/arch/sh/drivers/pci/ops-bigsur.c | |||
@@ -10,15 +10,12 @@ | |||
10 | * | 10 | * |
11 | * PCI initialization for the Hitachi Big Sur Evaluation Board | 11 | * PCI initialization for the Hitachi Big Sur Evaluation Board |
12 | */ | 12 | */ |
13 | |||
14 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
15 | #include <linux/types.h> | 14 | #include <linux/types.h> |
16 | #include <linux/init.h> | 15 | #include <linux/init.h> |
17 | #include <linux/delay.h> | ||
18 | #include <linux/pci.h> | 16 | #include <linux/pci.h> |
19 | |||
20 | #include <asm/io.h> | 17 | #include <asm/io.h> |
21 | #include "pci-sh7751.h" | 18 | #include "pci-sh4.h" |
22 | #include <asm/bigsur/bigsur.h> | 19 | #include <asm/bigsur/bigsur.h> |
23 | 20 | ||
24 | #define BIGSUR_PCI_IO 0x4000 | 21 | #define BIGSUR_PCI_IO 0x4000 |
@@ -41,11 +38,11 @@ static struct resource sh7751_mem_resource = { | |||
41 | extern struct pci_ops sh7751_pci_ops; | 38 | extern struct pci_ops sh7751_pci_ops; |
42 | 39 | ||
43 | struct pci_channel board_pci_channels[] = { | 40 | struct pci_channel board_pci_channels[] = { |
44 | { &sh7751_pci_ops, &sh7751_io_resource, &sh7751_mem_resource, 0, 0xff }, | 41 | { &sh4_pci_ops, &sh7751_io_resource, &sh7751_mem_resource, 0, 0xff }, |
45 | { 0, } | 42 | { 0, } |
46 | }; | 43 | }; |
47 | 44 | ||
48 | static struct sh7751_pci_address_map sh7751_pci_map = { | 45 | static struct sh4_pci_address_map sh7751_pci_map = { |
49 | .window0 = { | 46 | .window0 = { |
50 | .base = SH7751_CS3_BASE_ADDR, | 47 | .base = SH7751_CS3_BASE_ADDR, |
51 | .size = BIGSUR_LSR0_SIZE, | 48 | .size = BIGSUR_LSR0_SIZE, |
@@ -58,7 +55,7 @@ static struct sh7751_pci_address_map sh7751_pci_map = { | |||
58 | }; | 55 | }; |
59 | 56 | ||
60 | /* | 57 | /* |
61 | * Initialize the Big Sur PCI interface | 58 | * Initialize the Big Sur PCI interface |
62 | * Setup hardware to be Central Funtion | 59 | * Setup hardware to be Central Funtion |
63 | * Copy the BSR regs to the PCI interface | 60 | * Copy the BSR regs to the PCI interface |
64 | * Setup PCI windows into local RAM | 61 | * Setup PCI windows into local RAM |
@@ -68,15 +65,15 @@ int __init pcibios_init_platform(void) | |||
68 | return sh7751_pcic_init(&sh7751_pci_map); | 65 | return sh7751_pcic_init(&sh7751_pci_map); |
69 | } | 66 | } |
70 | 67 | ||
71 | int pcibios_map_platform_irq(u8 slot, u8 pin) | 68 | int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) |
72 | { | 69 | { |
73 | /* | 70 | /* |
74 | * The Big Sur can be used in a CPCI chassis, but the SH7751 PCI | 71 | * The Big Sur can be used in a CPCI chassis, but the SH7751 PCI |
75 | * interface is on the wrong end of the board so that it can also | 72 | * interface is on the wrong end of the board so that it can also |
76 | * support a V320 CPI interface chip... Therefor the IRQ mapping is | 73 | * support a V320 CPI interface chip... Therefor the IRQ mapping is |
77 | * somewhat use dependent... I'l assume a linear map for now, i.e. | 74 | * somewhat use dependent... I'l assume a linear map for now, i.e. |
78 | * INTA=slot0,pin0... INTD=slot3,pin0... | 75 | * INTA=slot0,pin0... INTD=slot3,pin0... |
79 | */ | 76 | */ |
80 | int irq = (slot + pin-1) % 4 + BIGSUR_SH7751_PCI_IRQ_BASE; | 77 | int irq = (slot + pin-1) % 4 + BIGSUR_SH7751_PCI_IRQ_BASE; |
81 | 78 | ||
82 | PCIDBG(2, "PCI: Mapping Big Sur IRQ for slot %d, pin %c to irq %d\n", | 79 | PCIDBG(2, "PCI: Mapping Big Sur IRQ for slot %d, pin %c to irq %d\n", |
@@ -84,4 +81,3 @@ int pcibios_map_platform_irq(u8 slot, u8 pin) | |||
84 | 81 | ||
85 | return irq; | 82 | return irq; |
86 | } | 83 | } |
87 | |||