diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 03:43:28 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 03:43:28 -0400 |
commit | 959f85f8a3223c116bbe95dd8a9b207790b5d4d3 (patch) | |
tree | e7da9ccf292f860bfa0ff9cc8b2682cd1d6bad4d /arch/sh/drivers/pci/ops-r7780rp.c | |
parent | e108b2ca2349f510ce7d7f910eda89f71d710d84 (diff) |
sh: Consolidated SH7751/SH7780 PCI support.
This cleans up quite a lot of the PCI mess that we
currently have, and attempts to consolidate the
duplication in the SH7780 and SH7751 PCI controllers.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/drivers/pci/ops-r7780rp.c')
-rw-r--r-- | arch/sh/drivers/pci/ops-r7780rp.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/sh/drivers/pci/ops-r7780rp.c b/arch/sh/drivers/pci/ops-r7780rp.c index 3254c4e917a9..554d5ed2c586 100644 --- a/arch/sh/drivers/pci/ops-r7780rp.c +++ b/arch/sh/drivers/pci/ops-r7780rp.c | |||
@@ -15,13 +15,11 @@ | |||
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
17 | #include <linux/pci.h> | 17 | #include <linux/pci.h> |
18 | #include <linux/module.h> | ||
19 | |||
20 | #include <asm/io.h> | ||
21 | #include "pci-sh7780.h" | ||
22 | #include <asm/r7780rp/r7780rp.h> | 18 | #include <asm/r7780rp/r7780rp.h> |
19 | #include <asm/io.h> | ||
20 | #include "pci-sh4.h" | ||
23 | 21 | ||
24 | int __init pcibios_map_platform_irq(u8 slot, u8 pin) | 22 | int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) |
25 | { | 23 | { |
26 | switch (slot) { | 24 | switch (slot) { |
27 | case 0: return IRQ_PCISLOT1; /* PCI Interrupt #1 */ | 25 | case 0: return IRQ_PCISLOT1; /* PCI Interrupt #1 */ |
@@ -29,7 +27,8 @@ int __init pcibios_map_platform_irq(u8 slot, u8 pin) | |||
29 | case 2: return IRQ_PCISLOT3; /* PCI Interrupt #3 */ | 27 | case 2: return IRQ_PCISLOT3; /* PCI Interrupt #3 */ |
30 | case 3: return IRQ_PCISLOT4; /* PCI Interrupt E4 */ | 28 | case 3: return IRQ_PCISLOT4; /* PCI Interrupt E4 */ |
31 | default: | 29 | default: |
32 | printk("PCI: Bad IRQ mapping request for slot %d, func %d\n", slot, pin-1); | 30 | printk(KERN_ERR "PCI: Bad IRQ mapping " |
31 | "request for slot %d, func %d\n", slot, pin-1); | ||
33 | return -1; | 32 | return -1; |
34 | } | 33 | } |
35 | } | 34 | } |
@@ -51,12 +50,12 @@ static struct resource sh7780_mem_resource = { | |||
51 | extern struct pci_ops sh7780_pci_ops; | 50 | extern struct pci_ops sh7780_pci_ops; |
52 | 51 | ||
53 | struct pci_channel board_pci_channels[] = { | 52 | struct pci_channel board_pci_channels[] = { |
54 | { &sh7780_pci_ops, &sh7780_io_resource, &sh7780_mem_resource, 0, 0xff }, | 53 | { &sh4_pci_ops, &sh7780_io_resource, &sh7780_mem_resource, 0, 0xff }, |
55 | { NULL, NULL, NULL, 0, 0 }, | 54 | { NULL, NULL, NULL, 0, 0 }, |
56 | }; | 55 | }; |
57 | EXPORT_SYMBOL(board_pci_channels); | 56 | EXPORT_SYMBOL(board_pci_channels); |
58 | 57 | ||
59 | static struct sh7780_pci_address_map sh7780_pci_map = { | 58 | static struct sh4_pci_address_map sh7780_pci_map = { |
60 | .window0 = { | 59 | .window0 = { |
61 | .base = SH7780_CS2_BASE_ADDR, | 60 | .base = SH7780_CS2_BASE_ADDR, |
62 | .size = 0x04000000, | 61 | .size = 0x04000000, |
@@ -67,11 +66,10 @@ static struct sh7780_pci_address_map sh7780_pci_map = { | |||
67 | .size = 0x04000000, | 66 | .size = 0x04000000, |
68 | }, | 67 | }, |
69 | 68 | ||
70 | .flags = SH7780_PCIC_NO_RESET, | 69 | .flags = SH4_PCIC_NO_RESET, |
71 | }; | 70 | }; |
72 | 71 | ||
73 | int __init pcibios_init_platform(void) | 72 | int __init pcibios_init_platform(void) |
74 | { | 73 | { |
75 | return sh7780_pcic_init(&sh7780_pci_map); | 74 | return sh7780_pcic_init(&sh7780_pci_map); |
76 | } | 75 | } |
77 | |||