[PATCH] PCI hotplug: convert semaphores to mutex
semaphore to mutex conversion. the conversion was generated via scripts, and the result was validated automatically via a script as well. build tested with allyesconfig. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c408a3794d
commit
6aa4cdd071
@ -229,13 +229,13 @@ u8 pciehp_handle_power_fault(u8 hp_slot, void *inst_id)
|
||||
static void set_slot_off(struct controller *ctrl, struct slot * pslot)
|
||||
{
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
/* turn off slot, turn on Amber LED, turn off Green LED if supported*/
|
||||
if (POWER_CTRL(ctrl->ctrlcap)) {
|
||||
if (pslot->hpc_ops->power_off_slot(pslot)) {
|
||||
err("%s: Issue of Slot Power Off command failed\n", __FUNCTION__);
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
return;
|
||||
}
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
@ -249,14 +249,14 @@ static void set_slot_off(struct controller *ctrl, struct slot * pslot)
|
||||
if (ATTN_LED(ctrl->ctrlcap)) {
|
||||
if (pslot->hpc_ops->set_attention_status(pslot, 1)) {
|
||||
err("%s: Issue of Set Attention Led command failed\n", __FUNCTION__);
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
return;
|
||||
}
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
}
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -279,13 +279,13 @@ static int board_added(struct slot *p_slot)
|
||||
ctrl->slot_device_offset, hp_slot);
|
||||
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
if (POWER_CTRL(ctrl->ctrlcap)) {
|
||||
/* Power on slot */
|
||||
rc = p_slot->hpc_ops->power_on_slot(p_slot);
|
||||
if (rc) {
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -301,7 +301,7 @@ static int board_added(struct slot *p_slot)
|
||||
}
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
|
||||
/* Wait for ~1 second */
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
@ -335,7 +335,7 @@ static int board_added(struct slot *p_slot)
|
||||
pci_fixup_device(pci_fixup_final, ctrl->pci_dev);
|
||||
if (PWR_LED(ctrl->ctrlcap)) {
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
p_slot->hpc_ops->green_led_on(p_slot);
|
||||
|
||||
@ -343,7 +343,7 @@ static int board_added(struct slot *p_slot)
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
}
|
||||
return 0;
|
||||
|
||||
@ -375,14 +375,14 @@ static int remove_board(struct slot *p_slot)
|
||||
dbg("In %s, hp_slot = %d\n", __FUNCTION__, hp_slot);
|
||||
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
if (POWER_CTRL(ctrl->ctrlcap)) {
|
||||
/* power off slot */
|
||||
rc = p_slot->hpc_ops->power_off_slot(p_slot);
|
||||
if (rc) {
|
||||
err("%s: Issue of Slot Disable command failed\n", __FUNCTION__);
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
return rc;
|
||||
}
|
||||
/* Wait for the command to complete */
|
||||
@ -398,7 +398,7 @@ static int remove_board(struct slot *p_slot)
|
||||
}
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -445,7 +445,7 @@ static void pciehp_pushbutton_thread(unsigned long slot)
|
||||
|
||||
if (pciehp_enable_slot(p_slot) && PWR_LED(p_slot->ctrl->ctrlcap)) {
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&p_slot->ctrl->crit_sect);
|
||||
mutex_lock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
p_slot->hpc_ops->green_led_off(p_slot);
|
||||
|
||||
@ -453,7 +453,7 @@ static void pciehp_pushbutton_thread(unsigned long slot)
|
||||
wait_for_ctrl_irq (p_slot->ctrl);
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
}
|
||||
p_slot->state = STATIC_STATE;
|
||||
}
|
||||
@ -495,7 +495,7 @@ static void pciehp_surprise_rm_thread(unsigned long slot)
|
||||
|
||||
if (pciehp_enable_slot(p_slot) && PWR_LED(p_slot->ctrl->ctrlcap)) {
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&p_slot->ctrl->crit_sect);
|
||||
mutex_lock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
p_slot->hpc_ops->green_led_off(p_slot);
|
||||
|
||||
@ -503,7 +503,7 @@ static void pciehp_surprise_rm_thread(unsigned long slot)
|
||||
wait_for_ctrl_irq (p_slot->ctrl);
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
}
|
||||
p_slot->state = STATIC_STATE;
|
||||
}
|
||||
@ -616,7 +616,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
switch (p_slot->state) {
|
||||
case BLINKINGOFF_STATE:
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
if (PWR_LED(ctrl->ctrlcap)) {
|
||||
p_slot->hpc_ops->green_led_on(p_slot);
|
||||
@ -630,11 +630,11 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
}
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
break;
|
||||
case BLINKINGON_STATE:
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
if (PWR_LED(ctrl->ctrlcap)) {
|
||||
p_slot->hpc_ops->green_led_off(p_slot);
|
||||
@ -647,7 +647,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
wait_for_ctrl_irq (ctrl);
|
||||
}
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
|
||||
break;
|
||||
default:
|
||||
@ -676,7 +676,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
}
|
||||
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
/* blink green LED and turn off amber */
|
||||
if (PWR_LED(ctrl->ctrlcap)) {
|
||||
@ -693,7 +693,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
}
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
|
||||
init_timer(&p_slot->task_event);
|
||||
p_slot->task_event.expires = jiffies + 5 * HZ; /* 5 second delay */
|
||||
@ -708,7 +708,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
if (POWER_CTRL(ctrl->ctrlcap)) {
|
||||
dbg("power fault\n");
|
||||
/* Wait for exclusive access to hardware */
|
||||
down(&ctrl->crit_sect);
|
||||
mutex_lock(&ctrl->crit_sect);
|
||||
|
||||
if (ATTN_LED(ctrl->ctrlcap)) {
|
||||
p_slot->hpc_ops->set_attention_status(p_slot, 1);
|
||||
@ -721,7 +721,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
}
|
||||
|
||||
/* Done with exclusive hardware access */
|
||||
up(&ctrl->crit_sect);
|
||||
mutex_unlock(&ctrl->crit_sect);
|
||||
}
|
||||
}
|
||||
/***********SURPRISE REMOVAL********************/
|
||||
@ -756,19 +756,19 @@ int pciehp_enable_slot(struct slot *p_slot)
|
||||
int rc;
|
||||
|
||||
/* Check to see if (latch closed, card present, power off) */
|
||||
down(&p_slot->ctrl->crit_sect);
|
||||
mutex_lock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
rc = p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus);
|
||||
if (rc || !getstatus) {
|
||||
info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
if (MRL_SENS(p_slot->ctrl->ctrlcap)) {
|
||||
rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus);
|
||||
if (rc || getstatus) {
|
||||
info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -777,11 +777,11 @@ int pciehp_enable_slot(struct slot *p_slot)
|
||||
rc = p_slot->hpc_ops->get_power_status(p_slot, &getstatus);
|
||||
if (rc || getstatus) {
|
||||
info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
p_slot->hpc_ops->get_latch_status(p_slot, &getstatus);
|
||||
|
||||
@ -806,13 +806,13 @@ int pciehp_disable_slot(struct slot *p_slot)
|
||||
return 1;
|
||||
|
||||
/* Check to see if (latch closed, card present, power on) */
|
||||
down(&p_slot->ctrl->crit_sect);
|
||||
mutex_lock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
if (!HP_SUPR_RM(p_slot->ctrl->ctrlcap)) {
|
||||
ret = p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus);
|
||||
if (ret || !getstatus) {
|
||||
info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -821,7 +821,7 @@ int pciehp_disable_slot(struct slot *p_slot)
|
||||
ret = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus);
|
||||
if (ret || getstatus) {
|
||||
info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -830,12 +830,12 @@ int pciehp_disable_slot(struct slot *p_slot)
|
||||
ret = p_slot->hpc_ops->get_power_status(p_slot, &getstatus);
|
||||
if (ret || !getstatus) {
|
||||
info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number);
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
up(&p_slot->ctrl->crit_sect);
|
||||
mutex_unlock(&p_slot->ctrl->crit_sect);
|
||||
|
||||
ret = remove_board(p_slot);
|
||||
update_slot_info(p_slot);
|
||||
|
Reference in New Issue
Block a user