diff options
Diffstat (limited to 'drivers/acpi/acpica/utcache.c')
| -rw-r--r-- | drivers/acpi/acpica/utcache.c | 18 | 
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/acpi/acpica/utcache.c b/drivers/acpi/acpica/utcache.c index e0e8579deaa..a877a9647fd 100644 --- a/drivers/acpi/acpica/utcache.c +++ b/drivers/acpi/acpica/utcache.c @@ -85,7 +85,6 @@ acpi_os_create_cache(char *cache_name,  	/* Populate the cache object and return it */  	ACPI_MEMSET(cache, 0, sizeof(struct acpi_memory_list)); -	cache->link_offset = 8;  	cache->list_name = cache_name;  	cache->object_size = object_size;  	cache->max_depth = max_depth; @@ -108,7 +107,7 @@ acpi_os_create_cache(char *cache_name,  acpi_status acpi_os_purge_cache(struct acpi_memory_list * cache)  { -	char *next; +	void *next;  	acpi_status status;  	ACPI_FUNCTION_ENTRY(); @@ -128,10 +127,7 @@ acpi_status acpi_os_purge_cache(struct acpi_memory_list * cache)  		/* Delete and unlink one cached state object */ -		next = *(ACPI_CAST_INDIRECT_PTR(char, -						&(((char *)cache-> -						   list_head)[cache-> -							      link_offset]))); +		next = ACPI_GET_DESCRIPTOR_PTR(cache->list_head);  		ACPI_FREE(cache->list_head);  		cache->list_head = next; @@ -221,10 +217,7 @@ acpi_os_release_object(struct acpi_memory_list * cache, void *object)  		/* Put the object at the head of the cache list */ -		*(ACPI_CAST_INDIRECT_PTR(char, -					 &(((char *)object)[cache-> -							    link_offset]))) = -		    cache->list_head; +		ACPI_SET_DESCRIPTOR_PTR(object, cache->list_head);  		cache->list_head = object;  		cache->current_depth++; @@ -272,10 +265,7 @@ void *acpi_os_acquire_object(struct acpi_memory_list *cache)  		/* There is an object available, use it */  		object = cache->list_head; -		cache->list_head = *(ACPI_CAST_INDIRECT_PTR(char, -							    &(((char *) -							       object)[cache-> -								       link_offset]))); +		cache->list_head = ACPI_GET_DESCRIPTOR_PTR(object);  		cache->current_depth--;  |