[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 6/7] mac_dbdma: change DBDMA_register
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 6/7] mac_dbdma: change DBDMA_register_channel to a MAC_DBDMA type method |
Date: |
Thu, 28 Sep 2017 07:40:18 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 26/09/17 04:47, David Gibson wrote:
> On Sun, Sep 24, 2017 at 03:47:45PM +0100, Mark Cave-Ayland wrote:
>> Using this we can change the MACIO_IDE instance to register the channel
>> itself via a type method instead of requiring a separate
>> DBDMA_register_channel() function.
>>
>> As a consequence of this it is now possible to remove the old external
>> macio_ide_register_dma() function.
>>
>> Signed-off-by: Mark Cave-Ayland <address@hidden>
>
> Ok, two concerns about this.
>
> First, you've added the function pointer to the instance, not to the
> class, which is not how a QOM method would normally be done.
Yeah I did think about whether I needed to create a full class but was
torn since as you say there is only one implementation.
> More generally, though, why is a method preferable to a plain
> function? AFAICT it's not plausible that there will ever be more than
> one implementation of the method.
>
> Same comments apply to patch 7/7.
For me it's really for encapsulation. It seems a little odd requiring a
global function to configure a QOM object to which I already have a
reference.
If I were to redo the last 2 patches using a proper class, would you
accept them?
ATB,
Mark.
- [Qemu-ppc] [PATCH 0/7] mac_dbdma: tidy-up and QOMify, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 3/7] mac_dbdma: remove DBDMA_init() function, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 7/7] mac_dbdma: change DBDMA_kick to a MAC_DBDMA type method, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 2/7] mac_dbdma: QOMify, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 1/7] mac_dbdma: remove unused IO fields from DBDMAState, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 5/7] macio: use object link between MACIO_IDE and MAC_DBDMA object, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 4/7] macio: pass channel into MACIOIDEState via qdev property, Mark Cave-Ayland, 2017/09/24
- [Qemu-ppc] [PATCH 6/7] mac_dbdma: change DBDMA_register_channel to a MAC_DBDMA type method, Mark Cave-Ayland, 2017/09/24
- Re: [Qemu-ppc] [PATCH 0/7] mac_dbdma: tidy-up and QOMify, David Gibson, 2017/09/25