PCI: pciehp: Drop hotplug_slot_ops wrappers
pciehp's ->enable_slot, ->disable_slot, ->get_attention_status and ->reset_slot callbacks are currently implemented by wrapper functions that do nothing else but call down to a backend function. The backends are not called from anywhere else, so drop the wrappers and use the backends directly as callbacks, thereby shaving off a few lines of unnecessary code. No functional change intended. Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
committed by
Bjorn Helgaas
parent
7d4ba52317
commit
eee6e27384
@@ -173,8 +173,6 @@ struct controller {
|
|||||||
#define NO_CMD_CMPL(ctrl) ((ctrl)->slot_cap & PCI_EXP_SLTCAP_NCCS)
|
#define NO_CMD_CMPL(ctrl) ((ctrl)->slot_cap & PCI_EXP_SLTCAP_NCCS)
|
||||||
#define PSN(ctrl) (((ctrl)->slot_cap & PCI_EXP_SLTCAP_PSN) >> 19)
|
#define PSN(ctrl) (((ctrl)->slot_cap & PCI_EXP_SLTCAP_PSN) >> 19)
|
||||||
|
|
||||||
int pciehp_sysfs_enable_slot(struct slot *slot);
|
|
||||||
int pciehp_sysfs_disable_slot(struct slot *slot);
|
|
||||||
void pciehp_request(struct controller *ctrl, int action);
|
void pciehp_request(struct controller *ctrl, int action);
|
||||||
void pciehp_handle_button_press(struct slot *slot);
|
void pciehp_handle_button_press(struct slot *slot);
|
||||||
void pciehp_handle_disable_request(struct slot *slot);
|
void pciehp_handle_disable_request(struct slot *slot);
|
||||||
@@ -189,7 +187,6 @@ void pcie_clear_hotplug_events(struct controller *ctrl);
|
|||||||
int pciehp_power_on_slot(struct slot *slot);
|
int pciehp_power_on_slot(struct slot *slot);
|
||||||
void pciehp_power_off_slot(struct slot *slot);
|
void pciehp_power_off_slot(struct slot *slot);
|
||||||
void pciehp_get_power_status(struct slot *slot, u8 *status);
|
void pciehp_get_power_status(struct slot *slot, u8 *status);
|
||||||
void pciehp_get_attention_status(struct slot *slot, u8 *status);
|
|
||||||
|
|
||||||
void pciehp_set_attention_status(struct slot *slot, u8 status);
|
void pciehp_set_attention_status(struct slot *slot, u8 status);
|
||||||
void pciehp_get_latch_status(struct slot *slot, u8 *status);
|
void pciehp_get_latch_status(struct slot *slot, u8 *status);
|
||||||
@@ -201,8 +198,11 @@ void pciehp_green_led_blink(struct slot *slot);
|
|||||||
int pciehp_check_link_status(struct controller *ctrl);
|
int pciehp_check_link_status(struct controller *ctrl);
|
||||||
bool pciehp_check_link_active(struct controller *ctrl);
|
bool pciehp_check_link_active(struct controller *ctrl);
|
||||||
void pciehp_release_ctrl(struct controller *ctrl);
|
void pciehp_release_ctrl(struct controller *ctrl);
|
||||||
int pciehp_reset_slot(struct slot *slot, int probe);
|
|
||||||
|
|
||||||
|
int pciehp_sysfs_enable_slot(struct hotplug_slot *hotplug_slot);
|
||||||
|
int pciehp_sysfs_disable_slot(struct hotplug_slot *hotplug_slot);
|
||||||
|
int pciehp_reset_slot(struct hotplug_slot *hotplug_slot, int probe);
|
||||||
|
int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status);
|
||||||
int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status);
|
int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status);
|
||||||
int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status);
|
int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status);
|
||||||
|
|
||||||
|
|||||||
@@ -45,13 +45,9 @@ MODULE_PARM_DESC(pciehp_poll_time, "Polling mechanism frequency, in seconds");
|
|||||||
#define PCIE_MODULE_NAME "pciehp"
|
#define PCIE_MODULE_NAME "pciehp"
|
||||||
|
|
||||||
static int set_attention_status(struct hotplug_slot *slot, u8 value);
|
static int set_attention_status(struct hotplug_slot *slot, u8 value);
|
||||||
static int enable_slot(struct hotplug_slot *slot);
|
|
||||||
static int disable_slot(struct hotplug_slot *slot);
|
|
||||||
static int get_power_status(struct hotplug_slot *slot, u8 *value);
|
static int get_power_status(struct hotplug_slot *slot, u8 *value);
|
||||||
static int get_attention_status(struct hotplug_slot *slot, u8 *value);
|
|
||||||
static int get_latch_status(struct hotplug_slot *slot, u8 *value);
|
static int get_latch_status(struct hotplug_slot *slot, u8 *value);
|
||||||
static int get_adapter_status(struct hotplug_slot *slot, u8 *value);
|
static int get_adapter_status(struct hotplug_slot *slot, u8 *value);
|
||||||
static int reset_slot(struct hotplug_slot *slot, int probe);
|
|
||||||
|
|
||||||
static int init_slot(struct controller *ctrl)
|
static int init_slot(struct controller *ctrl)
|
||||||
{
|
{
|
||||||
@@ -75,15 +71,15 @@ static int init_slot(struct controller *ctrl)
|
|||||||
if (!ops)
|
if (!ops)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ops->enable_slot = enable_slot;
|
ops->enable_slot = pciehp_sysfs_enable_slot;
|
||||||
ops->disable_slot = disable_slot;
|
ops->disable_slot = pciehp_sysfs_disable_slot;
|
||||||
ops->get_power_status = get_power_status;
|
ops->get_power_status = get_power_status;
|
||||||
ops->get_adapter_status = get_adapter_status;
|
ops->get_adapter_status = get_adapter_status;
|
||||||
ops->reset_slot = reset_slot;
|
ops->reset_slot = pciehp_reset_slot;
|
||||||
if (MRL_SENS(ctrl))
|
if (MRL_SENS(ctrl))
|
||||||
ops->get_latch_status = get_latch_status;
|
ops->get_latch_status = get_latch_status;
|
||||||
if (ATTN_LED(ctrl)) {
|
if (ATTN_LED(ctrl)) {
|
||||||
ops->get_attention_status = get_attention_status;
|
ops->get_attention_status = pciehp_get_attention_status;
|
||||||
ops->set_attention_status = set_attention_status;
|
ops->set_attention_status = set_attention_status;
|
||||||
} else if (ctrl->pcie->port->hotplug_user_indicators) {
|
} else if (ctrl->pcie->port->hotplug_user_indicators) {
|
||||||
ops->get_attention_status = pciehp_get_raw_indicator_status;
|
ops->get_attention_status = pciehp_get_raw_indicator_status;
|
||||||
@@ -134,22 +130,6 @@ static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int enable_slot(struct hotplug_slot *hotplug_slot)
|
|
||||||
{
|
|
||||||
struct slot *slot = hotplug_slot->private;
|
|
||||||
|
|
||||||
return pciehp_sysfs_enable_slot(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int disable_slot(struct hotplug_slot *hotplug_slot)
|
|
||||||
{
|
|
||||||
struct slot *slot = hotplug_slot->private;
|
|
||||||
|
|
||||||
return pciehp_sysfs_disable_slot(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
||||||
{
|
{
|
||||||
struct slot *slot = hotplug_slot->private;
|
struct slot *slot = hotplug_slot->private;
|
||||||
@@ -161,14 +141,6 @@ static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
|
||||||
{
|
|
||||||
struct slot *slot = hotplug_slot->private;
|
|
||||||
|
|
||||||
pciehp_get_attention_status(slot, value);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
||||||
{
|
{
|
||||||
struct slot *slot = hotplug_slot->private;
|
struct slot *slot = hotplug_slot->private;
|
||||||
@@ -191,13 +163,6 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int reset_slot(struct hotplug_slot *hotplug_slot, int probe)
|
|
||||||
{
|
|
||||||
struct slot *slot = hotplug_slot->private;
|
|
||||||
|
|
||||||
return pciehp_reset_slot(slot, probe);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pciehp_check_presence() - synthesize event if presence has changed
|
* pciehp_check_presence() - synthesize event if presence has changed
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -364,8 +364,9 @@ static int pciehp_disable_slot(struct slot *slot, bool safe_removal)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pciehp_sysfs_enable_slot(struct slot *p_slot)
|
int pciehp_sysfs_enable_slot(struct hotplug_slot *hotplug_slot)
|
||||||
{
|
{
|
||||||
|
struct slot *p_slot = hotplug_slot->private;
|
||||||
struct controller *ctrl = p_slot->ctrl;
|
struct controller *ctrl = p_slot->ctrl;
|
||||||
|
|
||||||
mutex_lock(&p_slot->lock);
|
mutex_lock(&p_slot->lock);
|
||||||
@@ -402,8 +403,9 @@ int pciehp_sysfs_enable_slot(struct slot *p_slot)
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pciehp_sysfs_disable_slot(struct slot *p_slot)
|
int pciehp_sysfs_disable_slot(struct hotplug_slot *hotplug_slot)
|
||||||
{
|
{
|
||||||
|
struct slot *p_slot = hotplug_slot->private;
|
||||||
struct controller *ctrl = p_slot->ctrl;
|
struct controller *ctrl = p_slot->ctrl;
|
||||||
|
|
||||||
mutex_lock(&p_slot->lock);
|
mutex_lock(&p_slot->lock);
|
||||||
|
|||||||
@@ -326,8 +326,9 @@ int pciehp_get_raw_indicator_status(struct hotplug_slot *hotplug_slot,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pciehp_get_attention_status(struct slot *slot, u8 *status)
|
int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status)
|
||||||
{
|
{
|
||||||
|
struct slot *slot = hotplug_slot->private;
|
||||||
struct controller *ctrl = slot->ctrl;
|
struct controller *ctrl = slot->ctrl;
|
||||||
struct pci_dev *pdev = ctrl_dev(ctrl);
|
struct pci_dev *pdev = ctrl_dev(ctrl);
|
||||||
u16 slot_ctrl;
|
u16 slot_ctrl;
|
||||||
@@ -352,6 +353,8 @@ void pciehp_get_attention_status(struct slot *slot, u8 *status)
|
|||||||
*status = 0xFF;
|
*status = 0xFF;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pciehp_get_power_status(struct slot *slot, u8 *status)
|
void pciehp_get_power_status(struct slot *slot, u8 *status)
|
||||||
@@ -753,8 +756,9 @@ void pcie_clear_hotplug_events(struct controller *ctrl)
|
|||||||
* momentarily, if we see that they could interfere. Also, clear any spurious
|
* momentarily, if we see that they could interfere. Also, clear any spurious
|
||||||
* events after.
|
* events after.
|
||||||
*/
|
*/
|
||||||
int pciehp_reset_slot(struct slot *slot, int probe)
|
int pciehp_reset_slot(struct hotplug_slot *hotplug_slot, int probe)
|
||||||
{
|
{
|
||||||
|
struct slot *slot = hotplug_slot->private;
|
||||||
struct controller *ctrl = slot->ctrl;
|
struct controller *ctrl = slot->ctrl;
|
||||||
struct pci_dev *pdev = ctrl_dev(ctrl);
|
struct pci_dev *pdev = ctrl_dev(ctrl);
|
||||||
u16 stat_mask = 0, ctrl_mask = 0;
|
u16 stat_mask = 0, ctrl_mask = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user