interrupt_level)); 
interrupt_number)); 
acpi_ev_create_gpe_block (	struct acpi_namespace_node      *gpe_device,	struct acpi_generic_address     *gpe_block_address,	u32                             register_count,	u8                              gpe_block_base_number,	u32                             interrupt_level,	struct acpi_gpe_block_info      **return_gpe_block){	struct acpi_gpe_block_info      *gpe_block;	struct acpi_gpe_event_info      *gpe_event_info;	acpi_native_uint                i;	acpi_native_uint                j;	u32                             wake_gpe_count;	u32                             gpe_enabled_count;	acpi_status                     status;	struct acpi_gpe_walk_info       gpe_info;	ACPI_FUNCTION_TRACE ("ev_create_gpe_block");	if (!register_count) {		return_ACPI_STATUS (AE_OK);	}	/* Allocate a new GPE block */	gpe_block = ACPI_MEM_CALLOCATE (sizeof (struct acpi_gpe_block_info));	if (!gpe_block) {		return_ACPI_STATUS (AE_NO_MEMORY);	}	/* Initialize the new GPE block */	gpe_block->register_count = register_count;	gpe_block->block_base_number = gpe_block_base_number;	gpe_block->node           = gpe_device;	ACPI_MEMCPY (&gpe_block->block_address, gpe_block_address,		sizeof (struct acpi_generic_address));	/* Create the register_info and event_info sub-structures */	status = acpi_ev_create_gpe_info_blocks (gpe_block);	if (ACPI_FAILURE (status)) {		ACPI_MEM_FREE (gpe_block);		return_ACPI_STATUS (status);	}	/* Install the new block in the global list(s) */	status = acpi_ev_install_gpe_block (gpe_block, interrupt_level);	if (ACPI_FAILURE (status)) {		ACPI_MEM_FREE (gpe_block);		return_ACPI_STATUS (status);	}	/* Find all GPE methods (_Lxx, _Exx) for this block */	status = acpi_ns_walk_namespace (ACPI_TYPE_METHOD, gpe_device,			  ACPI_UINT32_MAX, ACPI_NS_WALK_NO_UNLOCK, acpi_ev_save_method_info,			  gpe_block, NULL);	/*	 * Runtime option: Should Wake GPEs be enabled at runtime?  The default	 * is No, they should only be enabled just as the machine goes to sleep.	 */	if (acpi_gbl_leave_wake_gpes_disabled) {		/*		 * Differentiate RUNTIME vs WAKE GPEs, via the _PRW control methods.		 * (Each GPE that has one or more _PRWs that reference it is by		 * definition a WAKE GPE and will not be enabled while the machine		 * is running.)		 */		gpe_info.gpe_block = gpe_block;		gpe_info.gpe_device = gpe_device;		status = acpi_ns_walk_namespace (ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,				  ACPI_UINT32_MAX, ACPI_NS_WALK_UNLOCK, acpi_ev_match_prw_and_gpe,				  &gpe_info, NULL);	}	/*	 * Enable all GPEs in this block that are 1) "runtime" or "run/wake" GPEs,	 * and 2) have a corresponding _Lxx or _Exx method.  All other GPEs must	 * be enabled via the acpi_enable_gpe() external interface.	 */	wake_gpe_count = 0;	gpe_enabled_count = 0;	for (i = 0; i < gpe_block->register_count; i++) {		for (j = 0; j < 8; j++) {			/* Get the info block for this particular GPE */			gpe_event_info = &gpe_block->event_info[(i * ACPI_GPE_REGISTER_WIDTH) + j];			if (((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) == ACPI_GPE_DISPATCH_METHOD) &&				 (gpe_event_info->flags & ACPI_GPE_TYPE_RUNTIME)) {				gpe_enabled_count++;			}			if (gpe_event_info->flags & ACPI_GPE_TYPE_WAKE) {				wake_gpe_count++;			}		}	}	/* Dump info about this GPE block */	ACPI_DEBUG_PRINT ((ACPI_DB_INIT,		"GPE %02X to %02X [%4.4s] %u regs on int 0x%X\n",		(u32) gpe_block->block_base_number,		(u32) (gpe_block->block_base_number +				((gpe_block->register_count * ACPI_GPE_REGISTER_WIDTH) -1)),		gpe_device->name.ascii,		gpe_block->register_count,		interrupt_level));	/* Enable all valid GPEs found above */	status = acpi_hw_enable_runtime_gpe_block (NULL, gpe_block);	ACPI_DEBUG_PRINT ((ACPI_DB_INIT,			"Found %u Wake, Enabled %u Runtime GPEs in this block\n",			wake_gpe_count, gpe_enabled_count));	/* Return the new block */	if (return_gpe_block) {		(*return_gpe_block) = gpe_block;	}	return_ACPI_STATUS (AE_OK);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6f42ccf2fc50ecee8ea170040627f268430c1648/evgpeblk.c/clean/drivers/acpi/events/evgpeblk.c