Commit ab1363a8 authored by Paul Mundt's avatar Paul Mundt

sh: pci: Consolidate PCI I/O and mem window definitions for SH7780.

This consolidates all of the PCI I/O and memory window definitions across
the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that
every platform had exactly the same implementation.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent f1dcab75
...@@ -26,27 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) ...@@ -26,27 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
return irq_tab[slot]; return irq_tab[slot];
} }
static struct resource sh7780_io_resource = {
.name = "SH7780_IO",
.start = SH7780_PCI_IO_BASE,
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO
};
static struct resource sh7780_mem_resource = {
.name = "SH7780_mem",
.start = SH7780_PCI_MEMORY_BASE,
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
extern struct pci_ops sh7780_pci_ops;
struct pci_channel board_pci_channels[] = {
{ sh7780_pci_init, &sh4_pci_ops, &sh7780_io_resource, &sh7780_mem_resource, 0, 0xff },
{ NULL, NULL, NULL, 0, 0 },
};
static struct sh4_pci_address_map sh7780_pci_map = { static struct sh4_pci_address_map sh7780_pci_map = {
.window0 = { .window0 = {
.base = SH7780_CS2_BASE_ADDR, .base = SH7780_CS2_BASE_ADDR,
...@@ -61,5 +40,5 @@ static struct sh4_pci_address_map sh7780_pci_map = { ...@@ -61,5 +40,5 @@ static struct sh4_pci_address_map sh7780_pci_map = {
int __init pcibios_init_platform(void) int __init pcibios_init_platform(void)
{ {
return sh7780_pcic_init(&board_pci_channels[0], &sh7780_pci_map); return sh7780_pcic_init(&sh7780_pci_map);
} }
...@@ -34,25 +34,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) ...@@ -34,25 +34,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
return sdk7780_irq_tab[pin-1][slot]; return sdk7780_irq_tab[pin-1][slot];
} }
static struct resource sdk7780_io_resource = {
.name = "SH7780_IO",
.start = SH7780_PCI_IO_BASE,
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO
};
static struct resource sdk7780_mem_resource = {
.name = "SH7780_mem",
.start = SH7780_PCI_MEMORY_BASE,
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
struct pci_channel board_pci_channels[] = {
{ sh7780_pci_init, &sh4_pci_ops, &sdk7780_io_resource, &sdk7780_mem_resource, 0, 0xff },
{ NULL, NULL, NULL, 0, 0 },
};
static struct sh4_pci_address_map sdk7780_pci_map = { static struct sh4_pci_address_map sdk7780_pci_map = {
.window0 = { .window0 = {
.base = SH7780_CS2_BASE_ADDR, .base = SH7780_CS2_BASE_ADDR,
...@@ -67,5 +48,5 @@ static struct sh4_pci_address_map sdk7780_pci_map = { ...@@ -67,5 +48,5 @@ static struct sh4_pci_address_map sdk7780_pci_map = {
int __init pcibios_init_platform(void) int __init pcibios_init_platform(void)
{ {
printk(KERN_INFO "SH7780 PCI: Finished initializing PCI controller\n"); printk(KERN_INFO "SH7780 PCI: Finished initializing PCI controller\n");
return sh7780_pcic_init(&board_pci_channels[0], &sdk7780_pci_map); return sh7780_pcic_init(&sdk7780_pci_map);
} }
...@@ -41,27 +41,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) ...@@ -41,27 +41,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
return se7780_irq_tab[pin-1][slot]; return se7780_irq_tab[pin-1][slot];
} }
static struct resource se7780_io_resource = {
.name = "SH7780_IO",
.start = SH7780_PCI_IO_BASE,
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO
};
static struct resource se7780_mem_resource = {
.name = "SH7780_mem",
.start = SH7780_PCI_MEMORY_BASE,
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
extern struct pci_ops se7780_pci_ops;
struct pci_channel board_pci_channels[] = {
{ sh7780_pci_init, &sh4_pci_ops, &se7780_io_resource, &se7780_mem_resource, 0, 0xff },
{ NULL, NULL, NULL, 0, 0 },
};
static struct sh4_pci_address_map se7780_pci_map = { static struct sh4_pci_address_map se7780_pci_map = {
.window0 = { .window0 = {
.base = SH7780_CS2_BASE_ADDR, .base = SH7780_CS2_BASE_ADDR,
...@@ -90,5 +69,5 @@ int __init pcibios_init_platform(void) ...@@ -90,5 +69,5 @@ int __init pcibios_init_platform(void)
ctrl_outw(0x0013, FPGA_PCI_INTSEL1); ctrl_outw(0x0013, FPGA_PCI_INTSEL1);
ctrl_outw(0xE402, FPGA_PCI_INTSEL2); ctrl_outw(0xE402, FPGA_PCI_INTSEL2);
return sh7780_pcic_init(&board_pci_channels[0], &se7780_pci_map); return sh7780_pcic_init(&se7780_pci_map);
} }
...@@ -26,25 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) ...@@ -26,25 +26,6 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
return irq_tab[slot]; return irq_tab[slot];
} }
static struct resource sh7785_io_resource = {
.name = "SH7785_IO",
.start = SH7780_PCI_IO_BASE,
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO
};
static struct resource sh7785_mem_resource = {
.name = "SH7785_mem",
.start = SH7780_PCI_MEMORY_BASE,
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
struct pci_channel board_pci_channels[] = {
{ sh7780_pci_init, &sh4_pci_ops, &sh7785_io_resource, &sh7785_mem_resource, 0, 0xff },
{ NULL, NULL, NULL, 0, 0 },
};
static struct sh4_pci_address_map sh7785_pci_map = { static struct sh4_pci_address_map sh7785_pci_map = {
.window0 = { .window0 = {
#if defined(CONFIG_32BIT) #if defined(CONFIG_32BIT)
...@@ -59,5 +40,5 @@ static struct sh4_pci_address_map sh7785_pci_map = { ...@@ -59,5 +40,5 @@ static struct sh4_pci_address_map sh7785_pci_map = {
int __init pcibios_init_platform(void) int __init pcibios_init_platform(void)
{ {
return sh7780_pcic_init(&board_pci_channels[0], &sh7785_pci_map); return sh7780_pcic_init(&sh7785_pci_map);
} }
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include "pci-sh4.h" #include "pci-sh4.h"
int __init sh7780_pci_init(struct pci_channel *chan) static int __init sh7780_pci_init(struct pci_channel *chan)
{ {
unsigned int id; unsigned int id;
const char *type = NULL; const char *type = NULL;
...@@ -71,9 +71,28 @@ int __init sh7780_pci_init(struct pci_channel *chan) ...@@ -71,9 +71,28 @@ int __init sh7780_pci_init(struct pci_channel *chan)
extern u8 pci_cache_line_size; extern u8 pci_cache_line_size;
int __init sh7780_pcic_init(struct pci_channel *chan, static struct resource sh7785_io_resource = {
struct sh4_pci_address_map *map) .name = "SH7785_IO",
.start = SH7780_PCI_IO_BASE,
.end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO
};
static struct resource sh7785_mem_resource = {
.name = "SH7785_mem",
.start = SH7780_PCI_MEMORY_BASE,
.end = SH7780_PCI_MEMORY_BASE + SH7780_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
struct pci_channel board_pci_channels[] = {
{ sh7780_pci_init, &sh4_pci_ops, &sh7785_io_resource, &sh7785_mem_resource, 0, 0xff },
{ NULL, NULL, NULL, 0, 0 },
};
int __init sh7780_pcic_init(struct sh4_pci_address_map *map)
{ {
struct pci_channel *chan = &board_pci_channels[0];
u32 word; u32 word;
/* /*
......
...@@ -107,8 +107,6 @@ ...@@ -107,8 +107,6 @@
struct sh4_pci_address_map; struct sh4_pci_address_map;
/* arch/sh/drivers/pci/pci-sh7780.c */ /* arch/sh/drivers/pci/pci-sh7780.c */
int sh7780_pci_init(struct pci_channel *chan); int sh7780_pcic_init(struct sh4_pci_address_map *map);
int sh7780_pcic_init(struct pci_channel *chan,
struct sh4_pci_address_map *map);
#endif /* _PCI_SH7780_H_ */ #endif /* _PCI_SH7780_H_ */
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