Lines Matching refs:mem_device
85 struct acpi_memory_device *mem_device = context; in acpi_memory_get_resource() local
95 list_for_each_entry(info, &mem_device->res_list, list) { in acpi_memory_get_resource()
114 list_add_tail(&new->list, &mem_device->res_list); in acpi_memory_get_resource()
120 acpi_memory_free_device_resources(struct acpi_memory_device *mem_device) in acpi_memory_free_device_resources() argument
124 list_for_each_entry_safe(info, n, &mem_device->res_list, list) in acpi_memory_free_device_resources()
126 INIT_LIST_HEAD(&mem_device->res_list); in acpi_memory_free_device_resources()
130 acpi_memory_get_device_resources(struct acpi_memory_device *mem_device) in acpi_memory_get_device_resources() argument
134 if (!list_empty(&mem_device->res_list)) in acpi_memory_get_device_resources()
137 status = acpi_walk_resources(mem_device->device->handle, METHOD_NAME__CRS, in acpi_memory_get_device_resources()
138 acpi_memory_get_resource, mem_device); in acpi_memory_get_device_resources()
140 acpi_memory_free_device_resources(mem_device); in acpi_memory_get_device_resources()
147 static int acpi_memory_check_device(struct acpi_memory_device *mem_device) in acpi_memory_check_device() argument
152 if (ACPI_FAILURE(acpi_evaluate_integer(mem_device->device->handle, in acpi_memory_check_device()
203 static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) in acpi_memory_enable_device() argument
205 acpi_handle handle = mem_device->device->handle; in acpi_memory_enable_device()
217 list_for_each_entry(info, &mem_device->res_list, list) { in acpi_memory_enable_device()
241 result = acpi_bind_memory_blocks(info, mem_device->device); in acpi_memory_enable_device()
256 dev_err(&mem_device->device->dev, "add_memory failed\n"); in acpi_memory_enable_device()
257 mem_device->state = MEMORY_INVALID_STATE; in acpi_memory_enable_device()
271 static void acpi_memory_remove_memory(struct acpi_memory_device *mem_device) in acpi_memory_remove_memory() argument
273 acpi_handle handle = mem_device->device->handle; in acpi_memory_remove_memory()
277 list_for_each_entry_safe(info, n, &mem_device->res_list, list) { in acpi_memory_remove_memory()
291 static void acpi_memory_device_free(struct acpi_memory_device *mem_device) in acpi_memory_device_free() argument
293 if (!mem_device) in acpi_memory_device_free()
296 acpi_memory_free_device_resources(mem_device); in acpi_memory_device_free()
297 mem_device->device->driver_data = NULL; in acpi_memory_device_free()
298 kfree(mem_device); in acpi_memory_device_free()
304 struct acpi_memory_device *mem_device; in acpi_memory_device_add() local
310 mem_device = kzalloc(sizeof(struct acpi_memory_device), GFP_KERNEL); in acpi_memory_device_add()
311 if (!mem_device) in acpi_memory_device_add()
314 INIT_LIST_HEAD(&mem_device->res_list); in acpi_memory_device_add()
315 mem_device->device = device; in acpi_memory_device_add()
318 device->driver_data = mem_device; in acpi_memory_device_add()
321 result = acpi_memory_get_device_resources(mem_device); in acpi_memory_device_add()
324 kfree(mem_device); in acpi_memory_device_add()
329 mem_device->state = MEMORY_POWER_ON_STATE; in acpi_memory_device_add()
331 result = acpi_memory_check_device(mem_device); in acpi_memory_device_add()
333 acpi_memory_device_free(mem_device); in acpi_memory_device_add()
337 result = acpi_memory_enable_device(mem_device); in acpi_memory_device_add()
340 acpi_memory_device_free(mem_device); in acpi_memory_device_add()
350 struct acpi_memory_device *mem_device; in acpi_memory_device_remove() local
355 mem_device = acpi_driver_data(device); in acpi_memory_device_remove()
356 acpi_memory_remove_memory(mem_device); in acpi_memory_device_remove()
357 acpi_memory_device_free(mem_device); in acpi_memory_device_remove()