From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52430 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PIdqH-00016H-2I for qemu-devel@nongnu.org; Wed, 17 Nov 2010 03:58:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PIdqD-0006WR-4l for qemu-devel@nongnu.org; Wed, 17 Nov 2010 03:58:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:10069) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PIdqC-0006Vq-SH for qemu-devel@nongnu.org; Wed, 17 Nov 2010 03:58:09 -0500 Message-ID: <4CE39900.4050306@redhat.com> Date: Wed, 17 Nov 2010 09:57:36 +0100 From: Gerd Hoffmann MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 03/10] ide: add support for ide extenders References: <1289955937-24121-1-git-send-email-agraf@suse.de> <1289955937-24121-4-git-send-email-agraf@suse.de> In-Reply-To: <1289955937-24121-4-git-send-email-agraf@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: tj@kernel.org, Joerg Roedel , Roland Elek , QEMU-devel Developers , Sebastian Herbszt Hi, > +/* This struct represents a device that uses an IDE bus, but requires > + * modifications to how it works. An example is AHCI. */ > +struct IDEExtender { > + TransferStartFunc *transfer_start_fn; > + IRQSetFunc *irq_set_fn; > + DMAStartFunc *dma_start_fn; > +}; Hmm, I'd call that IDEBusOps or simliar. > struct IDEBus { > BusState qbus; > IDEDevice *master; > IDEDevice *slave; > BMDMAState *bmdma; > IDEState ifs[2]; > + IDEExtender extender; IDEBusOps *ops; Note this is a pointer now, so you can have static IDEBusOps structs and just set the ops pointer instead of filling in three function pointers. cheers, Gerd