[PATCH] PCI, pciehp: Reuse set_slot_off()

From: Yinghai Lu
Date: Fri Feb 24 2017 - 01:55:12 EST


Now set_slot_off() is used in board_added() err path.

We could reuse in remove_board.

Also need to move green_led and attention_status out it.
and make code more readable.

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

---
drivers/pci/hotplug/pciehp_ctrl.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)

Index: linux-2.6/drivers/pci/hotplug/pciehp_ctrl.c
===================================================================
--- linux-2.6.orig/drivers/pci/hotplug/pciehp_ctrl.c
+++ linux-2.6/drivers/pci/hotplug/pciehp_ctrl.c
@@ -71,9 +71,6 @@ static void set_slot_off(struct controll
*/
msleep(1000);
}
-
- pciehp_green_led_off(pslot);
- pciehp_set_attention_status(pslot, 1);
}

/**
@@ -126,6 +123,8 @@ static int board_added(struct slot *p_sl

err_exit:
set_slot_off(ctrl, p_slot);
+ pciehp_green_led_off(p_slot);
+ pciehp_set_attention_status(p_slot, 1);
return retval;
}

@@ -142,16 +141,7 @@ static int remove_board(struct slot *p_s
if (retval)
return retval;

- if (POWER_CTRL(ctrl)) {
- pciehp_power_off_slot(p_slot);
-
- /*
- * After turning power off, we must wait for at least 1 second
- * before taking any action that relies on power having been
- * removed from the slot/adapter.
- */
- msleep(1000);
- }
+ set_slot_off(ctrl, p_slot);

/* turn off Green LED */
pciehp_green_led_off(p_slot);