u32 rc; 
int rc; 
static u32 remove_board(struct slot *p_slot){	struct controller *ctrl = p_slot->ctrl;	u8 hp_slot;	u32 rc;	if (shpchp_unconfigure_device(p_slot))		return(1);	hp_slot = p_slot->device - ctrl->slot_device_offset;	p_slot = shpchp_find_slot(ctrl, hp_slot + ctrl->slot_device_offset);	dbg("In %s, hp_slot = %d\n", __FUNCTION__, hp_slot);	/* Change status to shutdown */	if (p_slot->is_a_board)		p_slot->status = 0x01;	/* Wait for exclusive access to hardware */	down(&ctrl->crit_sect);	/* turn off slot, turn on Amber LED, turn off Green LED */	rc = p_slot->hpc_ops->slot_disable(p_slot);	if (rc) {		err("%s: Issue of Slot Disable command failed\n", __FUNCTION__);		/* Done with exclusive hardware access */		up(&ctrl->crit_sect);		return rc;	}	/* Wait for the command to complete */	wait_for_ctrl_irq (ctrl);	rc = p_slot->hpc_ops->check_cmd_status(ctrl);	if (rc) {		err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__, rc);		/* Done with exclusive hardware access */		up(&ctrl->crit_sect);		return rc;  	}		rc = p_slot->hpc_ops->set_attention_status(p_slot, 0);	if (rc) {		err("%s: Issue of Set Attention command failed\n", __FUNCTION__);		/* Done with exclusive hardware access */		up(&ctrl->crit_sect);		return rc;	}	/* Wait for the command to complete */	wait_for_ctrl_irq (ctrl);	/* Done with exclusive hardware access */	up(&ctrl->crit_sect);	p_slot->pwr_save = 0;	p_slot->is_a_board = 0;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ee138334d5eb5ca662b2d69228420c1ccc051e0e/shpchp_ctrl.c/clean/drivers/pci/hotplug/shpchp_ctrl.c