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: Linas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Linas Vepstas 2007-04-13 15:34:21 -07:00 committed by Greg Kroah-Hartman
parent fea54b8cc9
commit 8485d1a123
1 changed files with 13 additions and 5 deletions

View File

@ -98,7 +98,15 @@ static struct device_node *find_dlpar_node(char *drc_name, int *node_type)
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 slot *slot;
@ -224,9 +232,9 @@ static int dlpar_remove_phb(char *drc_name, struct device_node *dn)
if (!pcibios_find_pci_bus(dn))
return -EINVAL;
slot = find_slot(dn);
/* If pci slot is hotplugable, use hotplug to remove it */
slot = find_php_slot(dn);
if (slot) {
/* Remove hotplug slot */
if (rpaphp_deregister_slot(slot)) {
printk(KERN_ERR
"%s: unable to remove hotplug slot %s\n",
@ -370,9 +378,9 @@ int dlpar_remove_pci_slot(char *drc_name, struct device_node *dn)
if (!bus)
return -EINVAL;
slot = find_slot(dn);
/* If pci slot is hotplugable, use hotplug to remove it */
slot = find_php_slot(dn);
if (slot) {
/* Remove hotplug slot */
if (rpaphp_deregister_slot(slot)) {
printk(KERN_ERR
"%s: unable to remove hotplug slot %s\n",