Commit 8485d1a1 authored by Linas Vepstas's avatar Linas Vepstas Committed by Greg Kroah-Hartman

PCI: rpaphp: Document find_php_slot()

Document some of the interaction between dlpar and hotplug.
viz, the a dlpar remove of a htoplug slot uses hotplug to remove it.
Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent fea54b8c
...@@ -98,7 +98,15 @@ static struct device_node *find_dlpar_node(char *drc_name, int *node_type) ...@@ -98,7 +98,15 @@ static struct device_node *find_dlpar_node(char *drc_name, int *node_type)
return NULL; return NULL;
} }
static struct slot *find_slot(struct device_node *dn) /**
* find_php_slot - return hotplug slot structure for device node
*
* This routine will return the hotplug slot structure
* for a given device node. Note that built-in PCI slots
* may be dlpar-able, but not hot-pluggable, so this routine
* will return NULL for built-in PCI slots.
*/
static struct slot *find_php_slot(struct device_node *dn)
{ {
struct list_head *tmp, *n; struct list_head *tmp, *n;
struct slot *slot; struct slot *slot;
...@@ -224,9 +232,9 @@ static int dlpar_remove_phb(char *drc_name, struct device_node *dn) ...@@ -224,9 +232,9 @@ static int dlpar_remove_phb(char *drc_name, struct device_node *dn)
if (!pcibios_find_pci_bus(dn)) if (!pcibios_find_pci_bus(dn))
return -EINVAL; return -EINVAL;
slot = find_slot(dn); /* If pci slot is hotplugable, use hotplug to remove it */
slot = find_php_slot(dn);
if (slot) { if (slot) {
/* Remove hotplug slot */
if (rpaphp_deregister_slot(slot)) { if (rpaphp_deregister_slot(slot)) {
printk(KERN_ERR printk(KERN_ERR
"%s: unable to remove hotplug slot %s\n", "%s: unable to remove hotplug slot %s\n",
...@@ -370,9 +378,9 @@ int dlpar_remove_pci_slot(char *drc_name, struct device_node *dn) ...@@ -370,9 +378,9 @@ int dlpar_remove_pci_slot(char *drc_name, struct device_node *dn)
if (!bus) if (!bus)
return -EINVAL; return -EINVAL;
slot = find_slot(dn); /* If pci slot is hotplugable, use hotplug to remove it */
slot = find_php_slot(dn);
if (slot) { if (slot) {
/* Remove hotplug slot */
if (rpaphp_deregister_slot(slot)) { if (rpaphp_deregister_slot(slot)) {
printk(KERN_ERR printk(KERN_ERR
"%s: unable to remove hotplug slot %s\n", "%s: unable to remove hotplug slot %s\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment