aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2013-03-03 19:24:27 -0500
committerDavid S. Miller <davem@davemloft.net>2013-03-20 14:06:53 -0400
commitaa90b6943570bd92c7f070f987d072cefa029626 (patch)
treeeaaac464212c3142fe1d63b221291630b5d08427 /arch/sparc
parent2ffdd7e23cde5a8b94d41ec0adfdd58cffe67f3a (diff)
sparc32,leon: add support for PCI busn resource for GRPCI2
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/include/asm/leon_pci.h1
-rw-r--r--arch/sparc/kernel/leon_pci.c2
-rw-r--r--arch/sparc/kernel/leon_pci_grpci2.c5
3 files changed, 8 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/leon_pci.h b/arch/sparc/include/asm/leon_pci.h
index f48527ebdd8f..bfd3ab3092b5 100644
--- a/arch/sparc/include/asm/leon_pci.h
+++ b/arch/sparc/include/asm/leon_pci.h
@@ -12,6 +12,7 @@ struct leon_pci_info {
12 struct pci_ops *ops; 12 struct pci_ops *ops;
13 struct resource io_space; 13 struct resource io_space;
14 struct resource mem_space; 14 struct resource mem_space;
15 struct resource busn;
15 int (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin); 16 int (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
16}; 17};
17 18
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index 852dc8430528..88aaaa57bb64 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -29,6 +29,8 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
29 pci_add_resource_offset(&resources, &info->io_space, 29 pci_add_resource_offset(&resources, &info->io_space,
30 info->io_space.start - 0x1000); 30 info->io_space.start - 0x1000);
31 pci_add_resource(&resources, &info->mem_space); 31 pci_add_resource(&resources, &info->mem_space);
32 info->busn.flags = IORESOURCE_BUS;
33 pci_add_resource(&resources, &info->busn);
32 34
33 root_bus = pci_scan_root_bus(&ofdev->dev, 0, info->ops, info, 35 root_bus = pci_scan_root_bus(&ofdev->dev, 0, info->ops, info,
34 &resources); 36 &resources);
diff --git a/arch/sparc/kernel/leon_pci_grpci2.c b/arch/sparc/kernel/leon_pci_grpci2.c
index 4d1487138d26..5f0402aab7fb 100644
--- a/arch/sparc/kernel/leon_pci_grpci2.c
+++ b/arch/sparc/kernel/leon_pci_grpci2.c
@@ -799,6 +799,11 @@ static int grpci2_of_probe(struct platform_device *ofdev)
799 if (request_resource(&ioport_resource, &priv->info.io_space) < 0) 799 if (request_resource(&ioport_resource, &priv->info.io_space) < 0)
800 goto err4; 800 goto err4;
801 801
802 /* setup maximum supported PCI buses */
803 priv->info.busn.name = "GRPCI2 busn";
804 priv->info.busn.start = 0;
805 priv->info.busn.end = 255;
806
802 grpci2_hw_init(priv); 807 grpci2_hw_init(priv);
803 808
804 /* 809 /*