From: Markus Armbruster Date: Wed, 24 Oct 2018 06:50:16 +0000 (+0100) Subject: ssi-sd: Make devices picking up backends unavailable with -device X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=61e9e3cb45c378c1e705d67ff66e5936249539c8;p=qemu.git ssi-sd: Make devices picking up backends unavailable with -device Device models aren't supposed to go on fishing expeditions for backends. They should expose suitable properties for the user to set. For onboard devices, board code sets them. Device ssi-sd picks up its block backend in its init() method with drive_get_next() instead. This mistake is already marked FIXME since commit af9e40a. Unset user_creatable to remove the mistake from our external interface. Since the SSI bus doesn't support hotplug, only -device can be affected. Only certain ARM machines have ssi-sd and provide an SSI bus for it; this patch breaks -device ssi-sd for these machines. No actual use of -device ssi-sd is known. Signed-off-by: Markus Armbruster Acked-by: Philippe Mathieu-Daudé Acked-by: Thomas Huth Message-id: 20181009060835.4608-1-armbru@redhat.com Signed-off-by: Peter Maydell --- diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 95a143bfba..623d0333e8 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -284,6 +284,8 @@ static void ssi_sd_class_init(ObjectClass *klass, void *data) k->cs_polarity = SSI_CS_LOW; dc->vmsd = &vmstate_ssi_sd; dc->reset = ssi_sd_reset; + /* Reason: init() method uses drive_get_next() */ + dc->user_creatable = false; } static const TypeInfo ssi_sd_info = {