summaryrefslogtreecommitdiff
path: root/drivers/base/bus.c
diff options
context:
space:
mode:
authorSeth Jennings <sjenning@linux.vnet.ibm.com>2013-08-21 01:05:05 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-21 22:52:20 +0400
commitfa2be40fe7c0aa3b7accbf6dfa9ef0976e191d4c (patch)
treea51ae32d86315a68029a65fe028a2ade240050df /drivers/base/bus.c
parentcb5e39b8038be913030a7b01d4396cfa5f9ded7b (diff)
downloadlinux-fa2be40fe7c0aa3b7accbf6dfa9ef0976e191d4c.tar.xz
drivers: base: use standard device online/offline for state change
There are two ways to set the online/offline state for a memory block: echo 0|1 > online and echo online|online_kernel|online_movable|offline > state. The state attribute can online a memory block with extra data, the "online type", where the online attribute uses a default online type of ONLINE_KEEP, same as echo online > state. Currently there is a state_mutex that provides consistency between the memory block state and the underlying memory. The problem is that this code does a lot of things that the common device layer can do for us, such as the serialization of the online/offline handlers using the device lock, setting the dev->offline field, and calling kobject_uevent(). This patch refactors the online/offline code to allow the common device_[online|offline] functions to be used. The result is a simpler and more common code path for the two state setting mechanisms. It also removes the state_mutex from the struct memory_block as the memory block device lock provides the state consistency. No functional change is intended by this patch. Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/bus.c')
0 files changed, 0 insertions, 0 deletions