Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+13 −5
Original line number Original line Diff line number Diff line
@@ -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)
	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)
	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",