qemu/include
Markus Armbruster efec3dd631 qdev: Replace no_user by cannot_instantiate_with_device_add_yet
In an ideal world, machines can be built by wiring devices together
with configuration, not code.  Unfortunately, that's not the world we
live in right now.  We still have quite a few devices that need to be
wired up by code.  If you try to device_add such a device, it'll fail
in sometimes mysterious ways.  If you're lucky, you get an
unmysterious immediate crash.

To protect users from such badness, DeviceClass member no_user used to
make device models unavailable with -device / device_add, but that
regressed in commit 18b6dad.  The device model is still omitted from
help, but is available anyway.

Attempts to fix the regression have been rejected with the argument
that the purpose of no_user isn't clear, and it's prone to misuse.

This commit clarifies no_user's purpose.  Anthony suggested to rename
it cannot_instantiate_with_device_add_yet_due_to_internal_bugs, which
I shorten somewhat to keep checkpatch happy.  While there, make it
bool.

Every use of cannot_instantiate_with_device_add_yet gets a FIXME
comment asking for rationale.  The next few commits will clean them
all up, either by providing a rationale, or by getting rid of the use.

With that done, the regression fix is hopefully acceptable.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel.a@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-12-23 00:27:22 +01:00
..
block block: add opt_transfer_length to BlockLimits 2013-12-05 11:45:24 +01:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec roms: Flush icache when writing roms to guest memory 2013-12-20 01:58:03 +01:00
fpu softfloat: Add minNum() and maxNum() functions to softfloat. 2013-12-10 13:28:50 +00:00
hw qdev: Replace no_user by cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
migration vmstate: Add support for an array of ptimer_state * 2013-12-17 20:12:51 +00:00
monitor Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-09-03 12:32:46 -05:00
net net: disallow to specify multicast MAC address 2013-11-08 17:32:34 +01:00
qapi qemu-ga: Extend 'guest-info' command to expose flag 'success-response' 2013-10-10 14:52:37 -05:00
qemu host-utils: add clrsb32/64 - count leading redundant sign bits 2013-12-17 20:12:51 +00:00
qom qom: Fix pointer to int property helpers' documentation 2013-11-05 18:06:51 +01:00
sysemu device_tree: qemu_fdt_setprop: Rename val_array arg 2013-12-20 01:58:12 +01:00
ui include: add missing config-host.h include 2013-12-16 10:12:20 +01:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h tcg-s390: Use qemu_getauxval in query_facilities 2013-11-30 07:45:30 +13:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h qmp: add interface blockdev-snapshot-delete-internal-sync 2013-09-12 10:12:47 +02:00
qemu-io.h qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00