Update device hotplug framework.

In order to support hotplug of memory, cpu and pci devices in the PowerVM
and the PowerKVM environments we will need to provide a single entry
point. To do this requires updating the way in which we handle hotplug
requests in the PowerVM environment. The idea is to have all of the hotplug
in the kernel so that a hotplug rtas event can used to initiate the hotplug
add/remove of a device.

The current method for handling a hotplug request in a PowerVM partition
is to have the HMC notify the partition of the request through the RSCT
framework which then invokes the drmgr command to hotplug add/remove the
requested devices. The drmgr command does part of this in user-space
and part in the kernel via sysfs and /proc interfaces.

This patch creates the entry point for initiating a hotplug request for
pseries with a rtas hotplug event. For PowerVM systems the drmgr command
will now create and write a hotplug rtas event to /proc/powerpc/dlpar which
will then pass the hotplug rtas event to the entry point. For PowerKVM
systems QEMU will generate an epow interrupt to the guest, which then
calls rtas-check-execption to get the hotplug rtas event and pass it to the
entry point. NOTE that the updates to handle hotplug events from epow
interrupts is not in this intial patch.

This patch also adds funtionality so that we can do memory hotplug in the
kernel. Using the updates to drmgr found below you can initiate memory
hotplug events using the new interface.

https://github.com/nfont/powerpc-utils/tree/mem_rtas_hp

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Migrate the cpu dlpar hotplug code to hotplug-cpu.c

No functional changes.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Update cpu hotplug framework for hotplug rtas events.

This patch updates the cpu hotplgu framework so that we can do cpu hotplug
from the probe/release sysfs files (the current method for user space
driven hotplug) or use rtas hotplug events to do hotplug completely in
the kernel.

NOTE: This is completely untested. Use at your own risk.

or not.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>