diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2013-03-03 19:24:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-20 14:06:53 -0400 |
commit | aa90b6943570bd92c7f070f987d072cefa029626 (patch) | |
tree | eaaac464212c3142fe1d63b221291630b5d08427 /arch/sparc | |
parent | 2ffdd7e23cde5a8b94d41ec0adfdd58cffe67f3a (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.h | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/leon_pci.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/leon_pci_grpci2.c | 5 |
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 | /* |