You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'acpi-hotplug'
* acpi-hotplug: ACPI / memhotplug: Use defined marco METHOD_NAME__STA ACPI / hotplug: Use kobject_init_and_add() instead of _init() and _add() ACPI / hotplug: Don't set kobject parent pointer explicitly ACPI / hotplug: Set kobject name via kobject_add(), not kobject_set_name() hotplug, powerpc, x86: Remove cpu_hotplug_driver_lock() hotplug / x86: Disable ARCH_CPU_PROBE_RELEASE on x86 hotplug / x86: Add hotplug lock to missing places hotplug / x86: Fix online state in cpu0 debug interface
This commit is contained in:
+25
-14
@@ -44,13 +44,11 @@ static int __ref cpu_subsys_online(struct device *dev)
|
||||
struct cpu *cpu = container_of(dev, struct cpu, dev);
|
||||
int cpuid = dev->id;
|
||||
int from_nid, to_nid;
|
||||
int ret = -ENODEV;
|
||||
|
||||
cpu_hotplug_driver_lock();
|
||||
int ret;
|
||||
|
||||
from_nid = cpu_to_node(cpuid);
|
||||
if (from_nid == NUMA_NO_NODE)
|
||||
goto out;
|
||||
return -ENODEV;
|
||||
|
||||
ret = cpu_up(cpuid);
|
||||
/*
|
||||
@@ -61,19 +59,12 @@ static int __ref cpu_subsys_online(struct device *dev)
|
||||
if (from_nid != to_nid)
|
||||
change_cpu_under_node(cpu, from_nid, to_nid);
|
||||
|
||||
out:
|
||||
cpu_hotplug_driver_unlock();
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int cpu_subsys_offline(struct device *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
cpu_hotplug_driver_lock();
|
||||
ret = cpu_down(dev->id);
|
||||
cpu_hotplug_driver_unlock();
|
||||
return ret;
|
||||
return cpu_down(dev->id);
|
||||
}
|
||||
|
||||
void unregister_cpu(struct cpu *cpu)
|
||||
@@ -93,7 +84,17 @@ static ssize_t cpu_probe_store(struct device *dev,
|
||||
const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
return arch_cpu_probe(buf, count);
|
||||
ssize_t cnt;
|
||||
int ret;
|
||||
|
||||
ret = lock_device_hotplug_sysfs();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
cnt = arch_cpu_probe(buf, count);
|
||||
|
||||
unlock_device_hotplug();
|
||||
return cnt;
|
||||
}
|
||||
|
||||
static ssize_t cpu_release_store(struct device *dev,
|
||||
@@ -101,7 +102,17 @@ static ssize_t cpu_release_store(struct device *dev,
|
||||
const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
return arch_cpu_release(buf, count);
|
||||
ssize_t cnt;
|
||||
int ret;
|
||||
|
||||
ret = lock_device_hotplug_sysfs();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
cnt = arch_cpu_release(buf, count);
|
||||
|
||||
unlock_device_hotplug();
|
||||
return cnt;
|
||||
}
|
||||
|
||||
static DEVICE_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
|
||||
|
||||
Reference in New Issue
Block a user