[PATCH] PCI Hotplug: rpaphp: Purify hotplug

Currently rpaphp registers the following bus types as hotplug slots:
1) Actual PCI Hotplug slots
2) Embedded/Internal PCI slots
3) PCI Host Bridges

The second and third bus types are not actually direct parents of
removable adapters.  As such, the rpaphp has special case code to fake
results for attributes like power, adapter status, etc.  This patch
removes types 2 and 3 from the rpaphp module.

This patch also changes the DLPAR module so that slots can be
DLPAR-added/removed without having been designated as hotplug-capable.

Signed-off-by: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
John Rose
2005-07-25 10:17:03 -05:00
committed by Greg Kroah-Hartman
parent 940903c5a5
commit 56d8456b06
5 changed files with 104 additions and 193 deletions

View File

@@ -30,10 +30,6 @@
#include <linux/pci.h>
#include "pci_hotplug.h"
#define PHB 2
#define HOTPLUG 1
#define EMBEDDED 0
#define DR_INDICATOR 9002
#define DR_ENTITY_SENSE 9003
@@ -79,7 +75,6 @@ struct slot {
u32 power_domain;
char *name;
char *location;
u8 removable;
struct device_node *dn;
struct pci_bus *bus;
struct list_head *pci_devs;
@@ -93,6 +88,7 @@ extern int num_slots;
/* function prototypes */
/* rpaphp_pci.c */
extern struct pci_bus *rpaphp_find_pci_bus(struct device_node *dn);
extern int rpaphp_claim_resource(struct pci_dev *dev, int resource);
extern int rpaphp_enable_pci_slot(struct slot *slot);
extern int register_pci_slot(struct slot *slot);