From: Sebastian Ott <sebott@linux.vnet.ibm.com>
Date: Tue, 16 Apr 2013 12:13:21 +0000 (+0200)
Subject: s390/pci: implement pcibios_add_device
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=af0a8a8453f7c7b3497c9fecc053897690e00695;p=linux.git

s390/pci: implement pcibios_add_device

Use pcibios_add_device to do arch specific device initialization.
This function will be called during pci_bus_add_device.

Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index 24dcf059f061d..01478f63c8a8c 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -868,6 +868,17 @@ static void zpci_free_iomap(struct zpci_dev *zdev, int entry)
 	spin_unlock(&zpci_iomap_lock);
 }
 
+int pcibios_add_device(struct pci_dev *pdev)
+{
+	struct zpci_dev *zdev = get_zdev(pdev);
+
+	zpci_debug_init_device(zdev);
+	zpci_fmb_enable_device(zdev);
+	zpci_map_resources(zdev);
+
+	return 0;
+}
+
 static int zpci_create_device_bus(struct zpci_dev *zdev)
 {
 	struct resource *res;
@@ -1019,9 +1030,6 @@ int zpci_scan_device(struct zpci_dev *zdev)
 		goto out;
 	}
 
-	zpci_debug_init_device(zdev);
-	zpci_fmb_enable_device(zdev);
-	zpci_map_resources(zdev);
 	pci_bus_add_devices(zdev->bus);
 
 	/* now that pdev was added to the bus mark it as used */