qemu/include/hw
Michael Roth 94d1cc5f03 qdev: pass an Object * to qbus_set_hotplug_handler()
Certain devices types, like memory/CPU, are now being handled using a
hotplug interface provided by a top-level MachineClass. Hotpluggable
host bridges are another such device where it makes sense to use a
machine-level hotplug handler. However, unlike those devices,
host-bridges have a parent bus (the main system bus), and devices with
a parent bus use a different mechanism for registering their hotplug
handlers: qbus_set_hotplug_handler(). This interface currently expects
a handler to be a subclass of DeviceClass, but this is not the case
for MachineClass, which derives directly from ObjectClass.

Internally, the interface only requires an ObjectClass, so expose that
in qbus_set_hotplug_handler().

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <154999589921.690774.3640149277362188566.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-02-17 21:54:02 +11:00
..
acpi typo: apci->acpi 2019-01-30 10:16:58 +01:00
adc
arm arm: Instantiate NRF51 special NVM's and NVMC 2019-02-01 15:32:17 +00:00
audio
block
char hw/char/serial: Remove SerialState from "qemu/typedefs.h" 2019-01-22 05:14:33 +01:00
core
cpu qom/cpu: Add cluster_index to CPUState 2019-01-29 11:46:05 +00:00
cris
display hw/display/milkymist-tmu2: Move inlined code from header to source 2019-02-01 11:58:50 +01:00
dma
firmware
gpio
hyperv
i2c smbus: Add a helper to generate SPD EEPROM data 2019-02-04 18:44:17 +11:00
i386 hw/i386/pc: enable PVH only for machine type >= 4.0 2019-02-05 16:50:17 +01:00
ide ide: Get rid of CMD646BAR struct 2019-01-25 14:52:11 -05:00
input hw/input/ps2: Remove PS2State from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
intc
ipack
ipmi
isa
kvm
lm32
m68k
mem
mips
misc hw/misc/armsse-cpuid: Implement SSE-200 CPU_IDENTITY register block 2019-02-01 14:55:43 +00:00
net
nvram hw/nvram/nrf51_nvm: Add nRF51 non-volatile memories 2019-02-01 15:31:26 +00:00
pci pci/msi: export msi_is_masked() 2019-02-05 10:58:33 -05:00
pci-bridge
pci-host spapr: Rename xics to intc in interrupt controller agnostic code 2019-02-17 21:54:02 +11:00
ppc xive: Only set source type for LSIs 2019-02-17 21:54:02 +11:00
riscv
s390x
scsi scsi: esp: Defer command completion until previous interrupts have been handled 2019-01-11 13:57:24 +01:00
sd
sh4 avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
sparc
ssi aspeed/smc: snoop SPI transfers to fake dummy cycles 2019-01-29 11:46:05 +00:00
timer
tricore
unicore32
usb
vfio qemu/queue.h: typedef QTAILQ heads 2019-01-11 15:46:55 +01:00
virtio virtio-net: Fix a typo 2019-01-24 13:34:20 +01:00
watchdog
xen pvh: Add x86/HVM direct boot ABI header file 2019-02-05 16:50:16 +01:00
xtensa target/xtensa: add MX interrupt controller 2019-01-28 11:55:20 -08:00
boards.h qemu-options: Remove deprecated "-virtioconsole" option 2019-02-05 16:50:19 +01:00
bt.h
devices.h ui/console: Remove MouseTransformInfo from qemu/typedefs.h 2019-01-22 05:14:33 +01:00
elf_ops.h elf-ops.h: Add get_elf_note_type() 2019-02-05 16:50:16 +01:00
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h
ide.h ide/via: Rename functions to match device name 2019-01-25 14:52:12 -05:00
irq.h
loader-fit.h
loader.h elf: Add optional function ptr to load_elf() to parse ELF notes 2019-02-05 16:50:16 +01:00
nmi.h
or-irq.h
pcmcia.h hw/pcmcia: Remove PCMCIACardState from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
platform-bus.h
ptimer.h
qdev-core.h qdev: pass an Object * to qbus_set_hotplug_handler() 2019-02-17 21:54:02 +11:00
qdev-dma.h
qdev-properties.h
qdev.h
register.h
registerfields.h
stream.h
sysbus.h
usb.h qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00