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: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
		
					parent
					
						
							
								f1dcab7566
							
						
					
				
			
			
				commit
				
					
						ab1363a892
					
				
			
		
					 6 changed files with 27 additions and 90 deletions
				
			
		|  | @ -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 = { | ||||||
| 
 | 
 | ||||||
| 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) | ||||||
|        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 = { | ||||||
| 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) | ||||||
|        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) | ||||||
| 	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) | ||||||
| 	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 = { | ||||||
| 
 | 
 | ||||||
| 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 @@ | ||||||
| #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) | ||||||
| 
 | 
 | ||||||
| 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 @@ | ||||||
| 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_ */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Paul Mundt
				Paul Mundt