[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 46/58] qdev: Drop qdev_realize() support for null bus
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 46/58] qdev: Drop qdev_realize() support for null bus |
Date: |
Tue, 09 Jun 2020 12:05:33 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> On 5/29/20 3:45 PM, Markus Armbruster wrote:
>> The "null @bus means main system bus" convenience feature is no longer
>> used. Drop it.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> hw/core/qdev.c | 16 ++--------------
>> 1 file changed, 2 insertions(+), 14 deletions(-)
>>
>> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
>> index a1fdebb3aa..78a06db76e 100644
>> --- a/hw/core/qdev.c
>> +++ b/hw/core/qdev.c
>> @@ -408,8 +408,7 @@ void qdev_init_nofail(DeviceState *dev)
>> /*
>> * Realize @dev.
>> * @dev must not be plugged into a bus.
>> - * Plug @dev into @bus if non-null, else into the main system bus.
>> - * This takes a reference to @dev.
>> + * Plug @dev into @bus. This takes a reference to @dev.
>> * If @dev has no QOM parent, make one up, taking another reference.
>> * On success, return true.
>> * On failure, store an error through @errp and return false.
>> @@ -419,18 +418,7 @@ bool qdev_realize(DeviceState *dev, BusState *bus,
>> Error **errp)
>> Error *err = NULL;
>>
>> assert(!dev->realized && !dev->parent_bus);
>> -
>> - if (!bus) {
>> - /*
>> - * Assert that the device really is a SysBusDevice before we
>> - * put it onto the sysbus. Non-sysbus devices which aren't
>> - * being put onto a bus should be realized with
>> - * object_property_set_bool(OBJECT(dev), true, "realized",
>> - * errp);
>> - */
>> - g_assert(object_dynamic_cast(OBJECT(dev), TYPE_SYS_BUS_DEVICE));
>> - bus = sysbus_get_default();
>> - }
>> + assert(bus);
>
> Hmm what about renaming that to sysbus_init_nofail() and keep
> qdev_init_nofail() (without the bus part)?
I'm dense. What are you proposing?
>>
>> qdev_set_parent_bus(dev, bus);
>>
>>