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 | |
| 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>
| -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 | /* |
