Memory hotplug / ACPI: Simplify memory removal

Now that the memory offlining should be taken care of by the
companion device offlining code in acpi_scan_hot_remove(), the
ACPI memory hotplug driver doesn't need to offline it in
remove_memory() any more.  Moreover, since the return value of
remove_memory() is not used, it's better to make it be a void
function and trigger a BUG() if the memory scheduled for removal is
not offline.

Change the code in accordance with the above observations.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Toshi Kani <toshi.kani@hp.com>
This commit is contained in:
Rafael J. Wysocki
2013-05-27 12:58:46 +02:00
rodzic 303bfdb1a1
commit 242831eb15
3 zmienionych plików z 12 dodań i 74 usunięć

Wyświetl plik

@@ -271,13 +271,11 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device)
return 0;
}
static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
static void acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
{
acpi_handle handle = mem_device->device->handle;
int result = 0, nid;
struct acpi_memory_info *info, *n;
nid = acpi_get_node(handle);
int nid = acpi_get_node(handle);
list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
if (!info->enabled)
@@ -287,15 +285,10 @@ static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
nid = memory_add_physaddr_to_nid(info->start_addr);
acpi_unbind_memory_blocks(info, handle);
result = remove_memory(nid, info->start_addr, info->length);
if (result)
return result;
remove_memory(nid, info->start_addr, info->length);
list_del(&info->list);
kfree(info);
}
return result;
}
static void acpi_memory_device_free(struct acpi_memory_device *mem_device)