pc: simplify MachineClass::get_hotplug_handler handling
By default MachineClass::get_hotplug_handler is NULL and concrete board should set it to it's own handler. Considering there isn't any default handler, drop saving empty MachineClass::get_hotplug_handler in child class and make PC code consistent with spapr/s390x boards. We can bring this back when actual usecase surfaces and do it consistently across boards that use get_hotplug_handler(). Suggested-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Message-id: 1525691524-32265-2-git-send-email-imammedo@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
1839189bbf
commit
38aefb578d
@ -2051,15 +2051,12 @@ static void pc_machine_device_unplug_cb(HotplugHandler *hotplug_dev,
|
||||
static HotplugHandler *pc_get_hotpug_handler(MachineState *machine,
|
||||
DeviceState *dev)
|
||||
{
|
||||
PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(machine);
|
||||
|
||||
if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM) ||
|
||||
object_dynamic_cast(OBJECT(dev), TYPE_CPU)) {
|
||||
return HOTPLUG_HANDLER(machine);
|
||||
}
|
||||
|
||||
return pcmc->get_hotplug_handler ?
|
||||
pcmc->get_hotplug_handler(machine, dev) : NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2339,7 +2336,6 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
|
||||
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
|
||||
NMIClass *nc = NMI_CLASS(oc);
|
||||
|
||||
pcmc->get_hotplug_handler = mc->get_hotplug_handler;
|
||||
pcmc->pci_enabled = true;
|
||||
pcmc->has_acpi_build = true;
|
||||
pcmc->rsdp_in_ram = true;
|
||||
|
@ -83,10 +83,6 @@ struct PCMachineState {
|
||||
/**
|
||||
* PCMachineClass:
|
||||
*
|
||||
* Methods:
|
||||
*
|
||||
* @get_hotplug_handler: pointer to parent class callback @get_hotplug_handler
|
||||
*
|
||||
* Compat fields:
|
||||
*
|
||||
* @enforce_aligned_dimm: check that DIMM's address/size is aligned by
|
||||
@ -106,10 +102,6 @@ struct PCMachineClass {
|
||||
|
||||
/*< public >*/
|
||||
|
||||
/* Methods: */
|
||||
HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
|
||||
DeviceState *dev);
|
||||
|
||||
/* Device configuration: */
|
||||
bool pci_enabled;
|
||||
bool kvmclock_enabled;
|
||||
|
Loading…
Reference in New Issue
Block a user