Re: [PATCH] PCI, pciehp: Reuse set_slot_off()

From: Raj, Ashok
Date: Fri Feb 24 2017 - 12:20:23 EST


Hi Yinghai

On Thu, Feb 23, 2017 at 10:54:35PM -0800, Yinghai Lu wrote:
> +++ 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);

Re using set_slot_off() in remove_board() make sense.. but i'm not sure
why these are pulled out? It seems to be functionally complete
when these are done in set_slot_off().

> }
>
> /**
> @@ -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);
Don't we need the pciehp_set_attention_status() here?

Cheers,
Ashok