qemu/include/hw
Stefan Hajnoczi 39f72ef94b qom: Add check() argument to object_property_add_link()
There are currently three types of object_property_add_link() callers:

1. The link property may be set at any time.
2. The link property of a DeviceState instance may only be set before
   realize.
3. The link property may never be set, it is read-only.

Something similar can already be achieved with
object_property_add_str()'s set() argument.  Follow its example and add
a check() argument to object_property_add_link().

Also provide default check() functions for case #1 and #2.  Case #3 is
covered by passing a NULL function pointer.

Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Anthony Liguori <aliguori@amazon.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
[AF: Tweaked documentation comment]
Signed-off-by: Andreas Färber <afaerber@suse.de>
2014-03-19 22:23:13 +01:00
..
acpi acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API 2014-02-10 10:27:00 +02:00
arm i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
audio isa: QOM'ify ISADevice 2013-06-07 14:55:33 +02:00
block qdev: Add enum property types to QAPI schema 2014-02-14 21:12:05 +01:00
char hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
i2c i2c: Drop FROM_I2C_SLAVE() macro 2014-02-14 16:22:32 +01:00
i386 q35: Correct typo BRDIGE -> BRIDGE 2014-03-11 13:27:27 +02:00
input input: introduce keyboard handler list 2013-04-24 11:50:18 -05:00
intc arm: vgic device control api support 2014-02-26 17:20:00 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
kvm
lm32 lm32_juart: Relocate and tidy header 2013-07-29 21:06:27 +02:00
m68k
mips hw/mips: align initrd to 64KB to avoid kernel error 2013-07-29 00:27:35 +02:00
misc arm11mpcore: Split off SCU device 2013-11-05 17:47:30 +01:00
net hw/net: add support for Allwinner EMAC Fast Ethernet controller 2014-02-08 14:50:48 +00:00
nvram sun4m: Set HostID in NVRAM 2014-02-27 10:01:40 +00:00
pci hw/pci: switch to a generic hotplug handling for PCIDevice 2014-02-10 10:27:00 +02:00
pci-host q35: Correct typo BRDIGE -> BRIDGE 2014-03-11 13:27:27 +02:00
ppc exec: Make stl_*_phys input an AddressSpace 2014-02-11 22:57:18 +10:00
s390x s390x/event-facility: code restructure 2014-02-27 09:51:25 +01:00
scsi scsi: Fix migration of scsi sense data 2014-03-14 10:06:55 +01:00
sh4 sh7750: Change cpu field type to SuperHCPU 2013-04-13 13:51:45 +02:00
sparc firmware_abi: move to include/hw/nvram/ 2013-06-02 18:13:54 +03:00
timer hw/timer: add allwinner a10 timer 2013-12-17 20:12:51 +00:00
unicore32
virtio Block pull request 2014-03-13 15:33:04 +00:00
xen Revert "KVM: Split QEMUMachine typedef into separate header" 2014-03-13 03:49:48 +01:00
boards.h vl.c: Fix OpenBSD compilation issue due to namespace collisions 2014-03-19 21:00:34 +01:00
bt.h Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
devices.h arm: fix location of some include files 2013-04-15 15:16:01 +02:00
elf_ops.h elf-loader: add more return codes 2014-03-05 03:06:46 +01:00
empty_slot.h
hotplug.h define hotplug interface 2014-02-10 10:23:35 +02:00
hw.h linux-user: Fix compilation failure 2013-06-27 15:38:35 -05:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h hw/core: Add interface to allocate and free a single IRQ 2013-10-14 17:11:44 +03:00
loader.h pc: avoid duplicate names for ROM MRs 2014-03-11 13:25:48 +02:00
pcmcia.h pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h qdev: Prepare realize/unrealize hooks for BusState 2014-03-13 01:21:57 +01:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qom: Add check() argument to object_property_add_link() 2014-03-19 22:23:13 +01:00
qdev.h
sd.h
ssi.h ssi: Remove SSI_SLAVE_FROM_QDEV() macro 2014-03-12 20:13:02 +01:00
stream.h Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
sysbus.h memory: Change MemoryRegion priorities from unsigned to signed 2013-10-14 17:11:44 +03:00
usb.h usb: Remove magic constants from device bmAttributes 2014-02-18 15:39:12 +01:00