Skip to content

Commit

Permalink
PCI: rpaphp: Document find_php_slot()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Linas Vepstas authored and Greg Kroah-Hartman committed May 3, 2007
1 parent fea54b8 commit 8485d1a
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions drivers/pci/hotplug/rpadlpar_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down

0 comments on commit 8485d1a

Please sign in to comment.