Lines Matching refs:mem_device
75 struct acpi_memory_device *mem_device = context; in acpi_memory_get_resource() local
85 list_for_each_entry(info, &mem_device->res_list, list) { in acpi_memory_get_resource()
104 list_add_tail(&new->list, &mem_device->res_list); in acpi_memory_get_resource()
110 acpi_memory_free_device_resources(struct acpi_memory_device *mem_device) in acpi_memory_free_device_resources() argument
114 list_for_each_entry_safe(info, n, &mem_device->res_list, list) in acpi_memory_free_device_resources()
116 INIT_LIST_HEAD(&mem_device->res_list); in acpi_memory_free_device_resources()
120 acpi_memory_get_device_resources(struct acpi_memory_device *mem_device) in acpi_memory_get_device_resources() argument
124 if (!list_empty(&mem_device->res_list)) in acpi_memory_get_device_resources()
127 status = acpi_walk_resources(mem_device->device->handle, METHOD_NAME__CRS, in acpi_memory_get_device_resources()
128 acpi_memory_get_resource, mem_device); in acpi_memory_get_device_resources()
130 acpi_memory_free_device_resources(mem_device); in acpi_memory_get_device_resources()
137 static int acpi_memory_check_device(struct acpi_memory_device *mem_device) in acpi_memory_check_device() argument
142 if (ACPI_FAILURE(acpi_evaluate_integer(mem_device->device->handle, in acpi_memory_check_device()
182 static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) in acpi_memory_enable_device() argument
184 acpi_handle handle = mem_device->device->handle; in acpi_memory_enable_device()
196 list_for_each_entry(info, &mem_device->res_list, list) { in acpi_memory_enable_device()
220 result = acpi_bind_memory_blocks(info, mem_device->device); in acpi_memory_enable_device()
235 dev_err(&mem_device->device->dev, "add_memory failed\n"); in acpi_memory_enable_device()
236 mem_device->state = MEMORY_INVALID_STATE; in acpi_memory_enable_device()
250 static void acpi_memory_remove_memory(struct acpi_memory_device *mem_device) in acpi_memory_remove_memory() argument
252 acpi_handle handle = mem_device->device->handle; in acpi_memory_remove_memory()
256 list_for_each_entry_safe(info, n, &mem_device->res_list, list) { in acpi_memory_remove_memory()
270 static void acpi_memory_device_free(struct acpi_memory_device *mem_device) in acpi_memory_device_free() argument
272 if (!mem_device) in acpi_memory_device_free()
275 acpi_memory_free_device_resources(mem_device); in acpi_memory_device_free()
276 mem_device->device->driver_data = NULL; in acpi_memory_device_free()
277 kfree(mem_device); in acpi_memory_device_free()
283 struct acpi_memory_device *mem_device; in acpi_memory_device_add() local
289 mem_device = kzalloc(sizeof(struct acpi_memory_device), GFP_KERNEL); in acpi_memory_device_add()
290 if (!mem_device) in acpi_memory_device_add()
293 INIT_LIST_HEAD(&mem_device->res_list); in acpi_memory_device_add()
294 mem_device->device = device; in acpi_memory_device_add()
297 device->driver_data = mem_device; in acpi_memory_device_add()
300 result = acpi_memory_get_device_resources(mem_device); in acpi_memory_device_add()
303 kfree(mem_device); in acpi_memory_device_add()
308 mem_device->state = MEMORY_POWER_ON_STATE; in acpi_memory_device_add()
310 result = acpi_memory_check_device(mem_device); in acpi_memory_device_add()
312 acpi_memory_device_free(mem_device); in acpi_memory_device_add()
316 result = acpi_memory_enable_device(mem_device); in acpi_memory_device_add()
319 acpi_memory_device_free(mem_device); in acpi_memory_device_add()
329 struct acpi_memory_device *mem_device; in acpi_memory_device_remove() local
334 mem_device = acpi_driver_data(device); in acpi_memory_device_remove()
335 acpi_memory_remove_memory(mem_device); in acpi_memory_device_remove()
336 acpi_memory_device_free(mem_device); in acpi_memory_device_remove()