From 61e9e3cb45c378c1e705d67ff66e5936249539c8 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 24 Oct 2018 07:50:16 +0100 Subject: ssi-sd: Make devices picking up backends unavailable with -device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- hw/sd/ssi-sd.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hw') diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 95a143b..623d033 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 = { -- cgit v1.1