mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
ACPI: memory hotplug: remove .start() method
This patch folds the .start() method into .add(). The .start() method is called in two paths: boot-time device enumeration and run-time node addition, currently via container_device_add(). In both cases, .start() is called immediately after .add(), so there's no reason to make them separate methods. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Reviewed-by: Alex Chiang <achiang@hp.com> CC: Yasunori Goto <y-goto@jp.fujitsu.com> CC: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
970b04929a
commit
80f20fef6a
1 changed files with 16 additions and 28 deletions
|
@ -50,7 +50,6 @@ MODULE_LICENSE("GPL");
|
|||
|
||||
static int acpi_memory_device_add(struct acpi_device *device);
|
||||
static int acpi_memory_device_remove(struct acpi_device *device, int type);
|
||||
static int acpi_memory_device_start(struct acpi_device *device);
|
||||
|
||||
static const struct acpi_device_id memory_device_ids[] = {
|
||||
{ACPI_MEMORY_DEVICE_HID, 0},
|
||||
|
@ -65,7 +64,6 @@ static struct acpi_driver acpi_memory_device_driver = {
|
|||
.ops = {
|
||||
.add = acpi_memory_device_add,
|
||||
.remove = acpi_memory_device_remove,
|
||||
.start = acpi_memory_device_start,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -415,6 +413,22 @@ static int acpi_memory_device_add(struct acpi_device *device)
|
|||
|
||||
printk(KERN_DEBUG "%s \n", acpi_device_name(device));
|
||||
|
||||
/*
|
||||
* Early boot code has recognized memory area by EFI/E820.
|
||||
* If DSDT shows these memory devices on boot, hotplug is not necessary
|
||||
* for them. So, it just returns until completion of this driver's
|
||||
* start up.
|
||||
*/
|
||||
if (!acpi_hotmem_initialized)
|
||||
return 0;
|
||||
|
||||
if (!acpi_memory_check_device(mem_device)) {
|
||||
/* call add_memory func */
|
||||
result = acpi_memory_enable_device(mem_device);
|
||||
if (result)
|
||||
printk(KERN_ERR PREFIX
|
||||
"Error in acpi_memory_enable_device\n");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -432,32 +446,6 @@ static int acpi_memory_device_remove(struct acpi_device *device, int type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int acpi_memory_device_start (struct acpi_device *device)
|
||||
{
|
||||
struct acpi_memory_device *mem_device;
|
||||
int result = 0;
|
||||
|
||||
/*
|
||||
* Early boot code has recognized memory area by EFI/E820.
|
||||
* If DSDT shows these memory devices on boot, hotplug is not necessary
|
||||
* for them. So, it just returns until completion of this driver's
|
||||
* start up.
|
||||
*/
|
||||
if (!acpi_hotmem_initialized)
|
||||
return 0;
|
||||
|
||||
mem_device = acpi_driver_data(device);
|
||||
|
||||
if (!acpi_memory_check_device(mem_device)) {
|
||||
/* call add_memory func */
|
||||
result = acpi_memory_enable_device(mem_device);
|
||||
if (result)
|
||||
printk(KERN_ERR PREFIX
|
||||
"Error in acpi_memory_enable_device\n");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to check for memory device
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue