From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53546 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PLDI2-00067v-8O for qemu-devel@nongnu.org; Wed, 24 Nov 2010 06:13:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PLDHw-0005oo-QG for qemu-devel@nongnu.org; Wed, 24 Nov 2010 06:13:30 -0500 Received: from cantor2.suse.de ([195.135.220.15]:53573 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PLDHw-0005o5-GW for qemu-devel@nongnu.org; Wed, 24 Nov 2010 06:13:24 -0500 From: Hannes Reinecke Date: Wed, 24 Nov 2010 12:16:06 +0100 Message-Id: <1290597370-21365-12-git-send-email-hare@suse.de> In-Reply-To: <1290597370-21365-1-git-send-email-hare@suse.de> References: <1290597370-21365-1-git-send-email-hare@suse.de> Subject: [Qemu-devel] [PATCH 11/15] Remove 'bus' argument from SCSI command completion callbacks List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@gmail.com, nab@linux-iscsi.org, kraxel@redhat.com The 'bus' argument is now pointless, as we already pass the request itself and the bus can be derived from it. Signed-off-by: Hannes Reinecke Reviewed-by: Stefan Hajnoczi --- hw/esp.c | 5 ++--- hw/lsi53c895a.c | 5 ++--- hw/scsi-bus.c | 3 +-- hw/scsi-disk.c | 8 ++++---- hw/scsi-generic.c | 6 +++--- hw/scsi.h | 3 +-- hw/usb-msd.c | 5 ++--- 7 files changed, 15 insertions(+), 20 deletions(-) diff --git a/hw/esp.c b/hw/esp.c index 2784bec..d55bb6d 100644 --- a/hw/esp.c +++ b/hw/esp.c @@ -390,10 +390,9 @@ static void esp_do_dma(ESPState *s) } } -static void esp_command_complete(SCSIBus *bus, int reason, SCSIRequest *req, - uint32_t arg) +static void esp_command_complete(SCSIRequest *req, int reason, uint32_t arg) { - ESPState *s = DO_UPCAST(ESPState, busdev.qdev, bus->qbus.parent); + ESPState *s = DO_UPCAST(ESPState, busdev.qdev, req->bus->qbus.parent); if (reason == SCSI_REASON_DONE) { DPRINTF("SCSI Command complete\n"); diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c index 82a5d39..858c8f4 100644 --- a/hw/lsi53c895a.c +++ b/hw/lsi53c895a.c @@ -688,10 +688,9 @@ static int lsi_queue_tag(LSIState *s, uint32_t tag, uint32_t arg) } /* Callback to indicate that the SCSI layer has completed a transfer. */ -static void lsi_command_complete(SCSIBus *bus, int reason, SCSIRequest *req, - uint32_t arg) +static void lsi_command_complete(SCSIRequest *req, int reason, uint32_t arg) { - LSIState *s = DO_UPCAST(LSIState, dev.qdev, bus->qbus.parent); + LSIState *s = DO_UPCAST(LSIState, dev.qdev, req->bus->qbus.parent); int out; out = (s->sstat1 & PHASE_MASK) == PHASE_DO; diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c index bb88a56..0f8fd57 100644 --- a/hw/scsi-bus.c +++ b/hw/scsi-bus.c @@ -594,6 +594,5 @@ void scsi_req_complete(SCSIRequest *req) { assert(req->status != -1); scsi_req_dequeue(req); - req->bus->complete(req->bus, SCSI_REASON_DONE, - req, req->status); + req->bus->complete(req, SCSI_REASON_DONE, req->status); } diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index 0ccb627..a4f387d 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -156,7 +156,7 @@ static void scsi_read_complete(void * opaque, int ret) DPRINTF("Data ready tag=0x%x len=%zd\n", r->req.tag, iov_len); - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, iov_len); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, iov_len); } @@ -179,7 +179,7 @@ static void scsi_read_data(SCSIRequest *req) if (r->sector_count == (uint32_t)-1) { DPRINTF("Read buf_len=%zd\n", r->iov[0].iov_len); r->sector_count = 0; - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, + r->req.bus->complete(&r->req, SCSI_REASON_DATA, r->iov[0].iov_len); return; } @@ -229,7 +229,7 @@ static int scsi_handle_rw_error(SCSIDiskReq *r, int error, int type) vm_stop(0); } else { if (type == SCSI_REQ_STATUS_RETRY_READ) { - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, 0); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, 0); } switch (error) { case EBADR: @@ -280,7 +280,7 @@ static void scsi_write_complete(void * opaque, int ret) r->iov[0].iov_len = len; } DPRINTF("Write complete tag=0x%x more=%d\n", r->req.tag, len); - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, len); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, len); } } diff --git a/hw/scsi-generic.c b/hw/scsi-generic.c index ed085a1..d4edc48 100644 --- a/hw/scsi-generic.c +++ b/hw/scsi-generic.c @@ -196,7 +196,7 @@ static void scsi_read_complete(void * opaque, int ret) DPRINTF("Data ready tag=0x%x len=%d\n", r->req.tag, len); r->len = -1; - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, len); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, len); if (len == 0) scsi_command_complete(r, 0); } @@ -226,7 +226,7 @@ static void scsi_read_data(SCSIRequest *req) DPRINTF("Sense: %d %d %d %d %d %d %d %d\n", r->buf[0], r->buf[1], r->buf[2], r->buf[3], r->buf[4], r->buf[5], r->buf[6], r->buf[7]); - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, s->senselen); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, s->senselen); /* Clear sensebuf after REQUEST_SENSE */ scsi_clear_sense(s); return; @@ -272,7 +272,7 @@ static int scsi_write_data(SCSIRequest *req) if (r->len == 0) { r->len = r->buflen; - r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, &r->req, r->len); + r->req.bus->complete(&r->req, SCSI_REASON_DATA, r->len); return 0; } diff --git a/hw/scsi.h b/hw/scsi.h index 202d680..c2d3300 100644 --- a/hw/scsi.h +++ b/hw/scsi.h @@ -18,8 +18,7 @@ typedef struct SCSIBus SCSIBus; typedef struct SCSIDevice SCSIDevice; typedef struct SCSIDeviceInfo SCSIDeviceInfo; typedef struct SCSIRequest SCSIRequest; -typedef void (*scsi_completionfn)(SCSIBus *bus, int reason, SCSIRequest *req, - uint32_t arg); +typedef void (*scsi_completionfn)(SCSIRequest *req, int reason, uint32_t arg); enum SCSIXferMode { SCSI_XFER_NONE, /* TEST_UNIT_READY, ... */ diff --git a/hw/usb-msd.c b/hw/usb-msd.c index b4540c4..ae4d2d4 100644 --- a/hw/usb-msd.c +++ b/hw/usb-msd.c @@ -174,10 +174,9 @@ static void usb_msd_send_status(MSDState *s) memcpy(s->usb_buf, &csw, 13); } -static void usb_msd_command_complete(SCSIBus *bus, int reason, SCSIRequest *req, - uint32_t arg) +static void usb_msd_command_complete(SCSIRequest *req, int reason, uint32_t arg) { - MSDState *s = DO_UPCAST(MSDState, dev.qdev, bus->qbus.parent); + MSDState *s = DO_UPCAST(MSDState, dev.qdev, req->bus->qbus.parent); USBPacket *p = s->packet; if (req->tag != s->tag) { -- 1.6.0.2