浏览代码

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>
Daniel Hellstrom 12 年之前
父节点
当前提交
aa90b69435
共有 3 个文件被更改,包括 8 次插入0 次删除
  1. 1 0
      arch/sparc/include/asm/leon_pci.h
  2. 2 0
      arch/sparc/kernel/leon_pci.c
  3. 5 0
      arch/sparc/kernel/leon_pci_grpci2.c

+ 1 - 0
arch/sparc/include/asm/leon_pci.h

@@ -12,6 +12,7 @@ struct leon_pci_info {
 	struct pci_ops *ops;
 	struct resource	io_space;
 	struct resource	mem_space;
+	struct resource	busn;
 	int (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
 };
 

+ 2 - 0
arch/sparc/kernel/leon_pci.c

@@ -29,6 +29,8 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 	pci_add_resource_offset(&resources, &info->io_space,
 				info->io_space.start - 0x1000);
 	pci_add_resource(&resources, &info->mem_space);
+	info->busn.flags = IORESOURCE_BUS;
+	pci_add_resource(&resources, &info->busn);
 
 	root_bus = pci_scan_root_bus(&ofdev->dev, 0, info->ops, info,
 				     &resources);

+ 5 - 0
arch/sparc/kernel/leon_pci_grpci2.c

@@ -799,6 +799,11 @@ static int grpci2_of_probe(struct platform_device *ofdev)
 	if (request_resource(&ioport_resource, &priv->info.io_space) < 0)
 		goto err4;
 
+	/* setup maximum supported PCI buses */
+	priv->info.busn.name = "GRPCI2 busn";
+	priv->info.busn.start = 0;
+	priv->info.busn.end = 255;
+
 	grpci2_hw_init(priv);
 
 	/*