diff options
Diffstat (limited to 'arch/s390/pci')
| -rw-r--r-- | arch/s390/pci/pci.c | 23 | ||||
| -rw-r--r-- | arch/s390/pci/pci_bus.c | 11 | 
2 files changed, 6 insertions, 28 deletions
| diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index e16afacc8fd1..afc3f33788da 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c @@ -874,32 +874,15 @@ bool zpci_is_device_configured(struct zpci_dev *zdev)   * @fh: The general function handle supplied by the platform   *   * Given a device in the configuration state Configured, enables, scans and - * adds it to the common code PCI subsystem if possible. If the PCI device is - * parked because we can not yet create a PCI bus because we have not seen - * function 0, it is ignored but will be scanned once function 0 appears. - * If any failure occurs, the zpci_dev is left disabled. + * adds it to the common code PCI subsystem if possible. If any failure occurs, + * the zpci_dev is left disabled.   *   * Return: 0 on success, or an error code otherwise   */  int zpci_scan_configured_device(struct zpci_dev *zdev, u32 fh)  { -	int rc; -  	zpci_update_fh(zdev, fh); -	/* the PCI function will be scanned once function 0 appears */ -	if (!zdev->zbus->bus) -		return 0; - -	/* For function 0 on a multi-function bus scan whole bus as we might -	 * have to pick up existing functions waiting for it to allow creating -	 * the PCI bus -	 */ -	if (zdev->devfn == 0 && zdev->zbus->multifunction) -		rc = zpci_bus_scan_bus(zdev->zbus); -	else -		rc = zpci_bus_scan_device(zdev); - -	return rc; +	return zpci_bus_scan_device(zdev);  }  /** diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c index a99926af2b69..32245b970a0c 100644 --- a/arch/s390/pci/pci_bus.c +++ b/arch/s390/pci/pci_bus.c @@ -85,9 +85,8 @@ int zpci_bus_scan_device(struct zpci_dev *zdev)  	if (!pdev)  		return -ENODEV; -	pci_bus_add_device(pdev);  	pci_lock_rescan_remove(); -	pci_bus_add_devices(zdev->zbus->bus); +	pci_bus_add_device(pdev);  	pci_unlock_rescan_remove();  	return 0; @@ -130,11 +129,8 @@ void zpci_bus_remove_device(struct zpci_dev *zdev, bool set_error)   * @zbus: the zbus to be scanned   *   * Enables and scans all PCI functions on the bus making them available to the - * common PCI code. If there is no function 0 on the zbus nothing is scanned. If - * a function does not have a slot yet because it was added to the zbus before - * function 0 the slot is created. If a PCI function fails to be initialized - * an error will be returned but attempts will still be made for all other - * functions on the bus. + * common PCI code. If a PCI function fails to be initialized an error will be + * returned but attempts will still be made for all other functions on the bus.   *   * Return: 0 on success, an error value otherwise   */ @@ -211,7 +207,6 @@ static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *fr, s  	}  	zbus->bus = bus; -	pci_bus_add_devices(bus);  	return 0;  } | 
