aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/drivers/pci/ops-r7780rp.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-09-27 03:43:28 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 03:43:28 -0400
commit959f85f8a3223c116bbe95dd8a9b207790b5d4d3 (patch)
treee7da9ccf292f860bfa0ff9cc8b2682cd1d6bad4d /arch/sh/drivers/pci/ops-r7780rp.c
parente108b2ca2349f510ce7d7f910eda89f71d710d84 (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.c18
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
24int __init pcibios_map_platform_irq(u8 slot, u8 pin) 22int __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 = {
51extern struct pci_ops sh7780_pci_ops; 50extern struct pci_ops sh7780_pci_ops;
52 51
53struct pci_channel board_pci_channels[] = { 52struct 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};
57EXPORT_SYMBOL(board_pci_channels); 56EXPORT_SYMBOL(board_pci_channels);
58 57
59static struct sh7780_pci_address_map sh7780_pci_map = { 58static 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
73int __init pcibios_init_platform(void) 72int __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