list_for_each (l, &slot->funcs) { func = list_entry(l, struct acpiphp_func, sibling);  /* We don't want to call _EJ0 on non-existing functions. */ if (func->flags & FUNC_HAS_EJ0) { /* _EJ0 method take one argument */ arg_list.count = 1; arg_list.pointer = &arg; arg.type = ACPI_TYPE_INTEGER; arg.integer.value = 1;  status = acpi_evaluate_object(func->handle, "_EJ0", &arg_list, NULL); if (ACPI_FAILURE(status)) { warn("%s: _EJ0 failed\n", __FUNCTION__); retval = -1; goto err_exit; } else break; } }  
static int power_off_slot(struct acpiphp_slot *slot){	acpi_status status;	struct acpiphp_func *func;	struct list_head *l;	struct acpi_object_list arg_list;	union acpi_object arg;	int retval = 0;	/* if already disabled, just skip */	if ((slot->flags & SLOT_POWEREDON) == 0)		goto err_exit;	list_for_each (l, &slot->funcs) {		func = list_entry(l, struct acpiphp_func, sibling);		if (func->flags & FUNC_HAS_PS3) {			status = acpi_evaluate_object(func->handle, "_PS3", NULL, NULL);			if (ACPI_FAILURE(status)) {				warn("%s: _PS3 failed\n", __FUNCTION__);				retval = -1;				goto err_exit;			} else				break;		}	}	list_for_each (l, &slot->funcs) {		func = list_entry(l, struct acpiphp_func, sibling);		/* We don't want to call _EJ0 on non-existing functions. */		if (func->flags & FUNC_HAS_EJ0) {			/* _EJ0 method take one argument */			arg_list.count = 1;			arg_list.pointer = &arg;			arg.type = ACPI_TYPE_INTEGER;			arg.integer.value = 1;			status = acpi_evaluate_object(func->handle, "_EJ0", &arg_list, NULL);			if (ACPI_FAILURE(status)) {				warn("%s: _EJ0 failed\n", __FUNCTION__);				retval = -1;				goto err_exit;			} else				break;		}	}	/* TBD: evaluate _STA to check if the slot is disabled */	slot->flags &= (~SLOT_POWEREDON); err_exit:	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8d50e332c8bd4f4e8cc76e8ed7326aa6f18182aa/acpiphp_glue.c/clean/drivers/pci/hotplug/acpiphp_glue.c