Skip to content

Commit

Permalink
[ARM] 3821/1: iop3xx: switch iop32x/iop33x over to shared pci code
Browse files Browse the repository at this point in the history
Switch the iop32x and iop33x code over to the common PCI implementation,
and remove the (nearly identical) iop32x and iop33x PCI implementations.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Lennert Buytenhek authored and Russell King committed Sep 25, 2006
1 parent 0cb015f commit 7e9740b
Show file tree
Hide file tree
Showing 21 changed files with 30 additions and 870 deletions.
2 changes: 1 addition & 1 deletion arch/arm/mach-iop32x/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#

obj-y := common.o setup.o irq.o pci.o time.o
obj-y := common.o setup.o irq.o time.o
obj-m :=
obj-n :=
obj- :=
Expand Down
6 changes: 0 additions & 6 deletions arch/arm/mach-iop32x/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,6 @@
#include <asm/hardware.h>
#include <asm/hardware/iop3xx.h>

/*
* Shared variables
*/
unsigned long iop3xx_pcibios_min_io = 0;
unsigned long iop3xx_pcibios_min_mem = 0;

#ifdef CONFIG_ARCH_EP80219
#include <linux/kernel.h>
/*
Expand Down
45 changes: 3 additions & 42 deletions arch/arm/mach-iop32x/iq31244-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,51 +67,12 @@ iq31244_map_irq(struct pci_dev *dev, u8 idsel, u8 pin)
return PCI_IRQ_TABLE_LOOKUP(0, 7);
}

static int iq31244_setup(int nr, struct pci_sys_data *sys)
{
struct resource *res;

if(nr != 0)
return 0;

res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL);
if (!res)
panic("PCI: unable to alloc resources");

res[0].start = IOP321_PCI_LOWER_IO_VA;
res[0].end = IOP321_PCI_UPPER_IO_VA;
res[0].name = "IQ31244 PCI I/O Space";
res[0].flags = IORESOURCE_IO;

res[1].start = IOP321_PCI_LOWER_MEM_PA;
res[1].end = IOP321_PCI_UPPER_MEM_PA;
res[1].name = "IQ31244 PCI Memory Space";
res[1].flags = IORESOURCE_MEM;

request_resource(&ioport_resource, &res[0]);
request_resource(&iomem_resource, &res[1]);

sys->mem_offset = IOP321_PCI_MEM_OFFSET;
sys->io_offset = IOP321_PCI_IO_OFFSET;

sys->resource[0] = &res[0];
sys->resource[1] = &res[1];
sys->resource[2] = NULL;

return 1;
}

static void iq31244_preinit(void)
{
iop321_init();
}

static struct hw_pci iq31244_pci __initdata = {
.swizzle = pci_std_swizzle,
.nr_controllers = 1,
.setup = iq31244_setup,
.scan = iop321_scan_bus,
.preinit = iq31244_preinit,
.setup = iop3xx_pci_setup,
.scan = iop3xx_pci_scan_bus,
.preinit = iop3xx_pci_preinit,
.map_irq = iq31244_map_irq
};

Expand Down
45 changes: 3 additions & 42 deletions arch/arm/mach-iop32x/iq80321-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,51 +61,12 @@ iq80321_map_irq(struct pci_dev *dev, u8 idsel, u8 pin)
return pci_irq_table[idsel%4][pin-1];
}

static int iq80321_setup(int nr, struct pci_sys_data *sys)
{
struct resource *res;

if(nr != 0)
return 0;

res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL);
if (!res)
panic("PCI: unable to alloc resources");

res[0].start = IOP321_PCI_LOWER_IO_VA;
res[0].end = IOP321_PCI_UPPER_IO_VA;
res[0].name = "IQ80321 PCI I/O Space";
res[0].flags = IORESOURCE_IO;

res[1].start = IOP321_PCI_LOWER_MEM_PA;
res[1].end = IOP321_PCI_UPPER_MEM_PA;
res[1].name = "IQ80321 PCI Memory Space";
res[1].flags = IORESOURCE_MEM;

request_resource(&ioport_resource, &res[0]);
request_resource(&iomem_resource, &res[1]);

sys->mem_offset = IOP321_PCI_MEM_OFFSET;
sys->io_offset = IOP321_PCI_IO_OFFSET;

sys->resource[0] = &res[0];
sys->resource[1] = &res[1];
sys->resource[2] = NULL;

return 1;
}

static void iq80321_preinit(void)
{
iop321_init();
}

static struct hw_pci iq80321_pci __initdata = {
.swizzle = pci_std_swizzle,
.nr_controllers = 1,
.setup = iq80321_setup,
.scan = iop321_scan_bus,
.preinit = iq80321_preinit,
.setup = iop3xx_pci_setup,
.scan = iop3xx_pci_scan_bus,
.preinit = iop3xx_pci_preinit,
.map_irq = iq80321_map_irq
};

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-iop32x/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ void __init iop321_init_irq(void)
intstr_write(0); // treat all as IRQ
if(machine_is_iq80321() ||
machine_is_iq31244()) // all interrupts are inputs to chip
*IOP321_PCIIRSR = 0x0f;
*IOP3XX_PCIIRSR = 0x0f;

for(i = IOP321_IRQ_OFS; i < NR_IRQS; i++)
{
Expand Down
220 changes: 0 additions & 220 deletions arch/arm/mach-iop32x/pci.c

This file was deleted.

2 changes: 1 addition & 1 deletion arch/arm/mach-iop33x/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#

obj-y := common.o setup.o irq.o pci.o time.o
obj-y := setup.o irq.o time.o
obj-m :=
obj-n :=
obj- :=
Expand Down
22 changes: 0 additions & 22 deletions arch/arm/mach-iop33x/common.c

This file was deleted.

Loading

0 comments on commit 7e9740b

Please sign in to comment.