[PATCH] PCI Hotplug: rpaphp: Move VIO registration

Currently, rpaphp registers Virtual I/O slots as hotplug slots.  The
only purpose of this registration is to ensure that the VIO subsystem
is notified of new VIO buses during DLPAR adds.  Similarly, rpaphp
notifies the VIO subsystem when a VIO bus is DLPAR-removed.  The rpaphp
module has special case code to fake results for attributes like power,
adapter status, etc.

The VIO register/unregister functions could just as easily be made from
the DLPAR module.  This patch moves the VIO registration calls to the
DLPAR module, and removes the VIO fluff from rpaphp altogether.

Signed-off-by: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c
index ab67d3d..30d10fc 100644
--- a/drivers/pci/hotplug/rpaphp_pci.c
+++ b/drivers/pci/hotplug/rpaphp_pci.c
@@ -265,11 +265,9 @@
 {
 	struct pci_dev *dev;
 
-	if (slot->dev_type == PCI_DEV) {
-		dbg("%s: pci_devs of slot[%s]\n", __FUNCTION__, slot->name);
-		list_for_each_entry (dev, slot->dev.pci_devs, bus_list)
-			dbg("\t%s\n", pci_name(dev));
-	}
+	dbg("%s: pci_devs of slot[%s]\n", __FUNCTION__, slot->name);
+	list_for_each_entry (dev, slot->pci_devs, bus_list)
+		dbg("\t%s\n", pci_name(dev));
 	return;
 }
 
@@ -328,7 +326,7 @@
 	struct pci_dev *dev;
 	int retval = 0;
 
-	list_for_each_entry(dev, slot->dev.pci_devs, bus_list)
+	list_for_each_entry(dev, slot->pci_devs, bus_list)
 		rpaphp_eeh_remove_bus_device(dev);
 
 	pci_remove_behind_bridge(slot->bridge);
@@ -401,7 +399,7 @@
 		bus = slot->bridge->subordinate;
 		if (!bus)
 			goto exit_rc;
-		slot->dev.pci_devs = &bus->devices;
+		slot->pci_devs = &bus->devices;
 
 		dbg("%s set slot->name to %s\n",  __FUNCTION__,
 				pci_name(slot->bridge));
@@ -434,7 +432,7 @@
 			goto exit_rc;
 		}
 		print_slot_pci_funcs(slot);
-		if (!list_empty(slot->dev.pci_devs)) {
+		if (!list_empty(slot->pci_devs)) {
 			slot->state = CONFIGURED;
 		} else {
 			/* DLPAR add as opposed to 
@@ -452,7 +450,6 @@
 {
 	int rc = -EINVAL;
 
-	slot->dev_type = PCI_DEV;
 	if ((slot->type == EMBEDDED) || (slot->type == PHB))
 		slot->removable = 0;
 	else