On 16 May 2011 06:54, Dmitry Eremin-Solenikov <dbarysh...@gmail.com> wrote:
> Hello,
>
> On 5/16/11, andrzej zaborowski <balr...@gmail.com> wrote:
>> On 25 April 2011 11:06, Dmitry Eremin-Solenikov <dbarysh...@gmail.com>
>> wrote:
>>> Switch dscm1xxxx microdrive driver to use qdev infrastructure.
>>> ---
>>>  hw/ide/microdrive.c |   49
>>> +++++++++++++++++++++++++++++++++++++++----------
>>>  hw/pcmcia.h         |    2 +-
>>>  hw/spitz.c          |    5 ++++-
>>>  hw/tosa.c           |    5 ++++-
>>>  4 files changed, 48 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c
>>> index 9fbbf0e..7692603 100644
>>> --- a/hw/ide/microdrive.c
>>> +++ b/hw/ide/microdrive.c
>>> @@ -38,8 +38,8 @@
>>>
>>>  /* DSCM-1XXXX Microdrive hard disk with CF+ II / PCMCIA interface.  */
>>>  typedef struct {
>>> -    IDEBus bus;
>>>     PCMCIACardState card;
>>> +    IDEBus bus;
>>>     uint32_t attr_base;
>>>     uint32_t io_base;
>>>
>>> @@ -529,22 +529,51 @@ static int dscm1xxxx_detach(void *opaque)
>>>     return 0;
>>>  }
>>>
>>> -PCMCIACardState *dscm1xxxx_init(DriveInfo *bdrv)
>>> +PCMCIACardState *dscm1xxxx_init(PCMCIASocket *socket, DriveInfo *bdrv)
>>
>> This looks like a regression that you have to pass the socket when
>> creating a PCMCIA card.  I consider it an advantage of the current
>> code that pcmcia cards are hotswappable.  Can we keep that with
>> qdevification?  Otherwise is there a gain from the qdevification?
>
> Socket is required, as we have to know the QBus before creating the
> device on it.

Let's skip the qbusification then.  It seems that qbus is a wrong
choice for pcmcia and there are no new features or bugs fixed by the
conversion, it's code motion?  I also don't see why the socket
structure should be needed at the creation time of a PCI device for
example, the BusInfo should be enough logically.

Cheers

Reply via email to