diff options
Diffstat (limited to 'drivers/pci/hotplug/pnv_php.c')
| -rw-r--r-- | drivers/pci/hotplug/pnv_php.c | 34 | 
1 files changed, 6 insertions, 28 deletions
diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c index 6086db6c0a48..e6245b03f0a1 100644 --- a/drivers/pci/hotplug/pnv_php.c +++ b/drivers/pci/hotplug/pnv_php.c @@ -22,30 +22,6 @@  #define DRIVER_AUTHOR	"Gavin Shan, IBM Corporation"  #define DRIVER_DESC	"PowerPC PowerNV PCI Hotplug Driver" -struct pnv_php_slot { -	struct hotplug_slot		slot; -	struct hotplug_slot_info	slot_info; -	uint64_t			id; -	char				*name; -	int				slot_no; -	struct kref			kref; -#define PNV_PHP_STATE_INITIALIZED	0 -#define PNV_PHP_STATE_REGISTERED	1 -#define PNV_PHP_STATE_POPULATED		2 -#define PNV_PHP_STATE_OFFLINE		3 -	int				state; -	struct device_node		*dn; -	struct pci_dev			*pdev; -	struct pci_bus			*bus; -	bool				power_state_check; -	void				*fdt; -	void				*dt; -	struct of_changeset		ocs; -	struct pnv_php_slot		*parent; -	struct list_head		children; -	struct list_head		link; -}; -  static LIST_HEAD(pnv_php_slot_list);  static DEFINE_SPINLOCK(pnv_php_lock); @@ -91,7 +67,7 @@ static struct pnv_php_slot *pnv_php_match(struct device_node *dn,  	return NULL;  } -static struct pnv_php_slot *pnv_php_find_slot(struct device_node *dn) +struct pnv_php_slot *pnv_php_find_slot(struct device_node *dn)  {  	struct pnv_php_slot *php_slot, *tmp;  	unsigned long flags; @@ -108,6 +84,7 @@ static struct pnv_php_slot *pnv_php_find_slot(struct device_node *dn)  	return NULL;  } +EXPORT_SYMBOL_GPL(pnv_php_find_slot);  /*   * Remove pdn for all children of the indicated device node. @@ -316,8 +293,8 @@ out:  	return ret;  } -static int pnv_php_set_slot_power_state(struct hotplug_slot *slot, -					uint8_t state) +int pnv_php_set_slot_power_state(struct hotplug_slot *slot, +				 uint8_t state)  {  	struct pnv_php_slot *php_slot = slot->private;  	struct opal_msg msg; @@ -340,13 +317,14 @@ static int pnv_php_set_slot_power_state(struct hotplug_slot *slot,  		return ret;  	} -	if (state == OPAL_PCI_SLOT_POWER_OFF) +	if (state == OPAL_PCI_SLOT_POWER_OFF || state == OPAL_PCI_SLOT_OFFLINE)  		pnv_php_rmv_devtree(php_slot);  	else  		ret = pnv_php_add_devtree(php_slot);  	return ret;  } +EXPORT_SYMBOL_GPL(pnv_php_set_slot_power_state);  static int pnv_php_get_power_state(struct hotplug_slot *slot, u8 *state)  {  |