Revision cfdc1bb0 hw/scsi-bus.c
b/hw/scsi-bus.c | ||
---|---|---|
21 | 21 |
|
22 | 22 |
/* Create a scsi bus, and attach devices to it. */ |
23 | 23 |
void scsi_bus_new(SCSIBus *bus, DeviceState *host, int tcq, int ndev, |
24 |
scsi_completionfn complete)
|
|
24 |
const SCSIBusOps *ops)
|
|
25 | 25 |
{ |
26 | 26 |
qbus_create_inplace(&bus->qbus, &scsi_bus_info, host, NULL); |
27 | 27 |
bus->busnr = next_scsi_bus++; |
28 | 28 |
bus->tcq = tcq; |
29 | 29 |
bus->ndev = ndev; |
30 |
bus->complete = complete;
|
|
30 |
bus->ops = ops;
|
|
31 | 31 |
bus->qbus.allow_hotplug = 1; |
32 | 32 |
} |
33 | 33 |
|
... | ... | |
503 | 503 |
void scsi_req_data(SCSIRequest *req, int len) |
504 | 504 |
{ |
505 | 505 |
trace_scsi_req_data(req->dev->id, req->lun, req->tag, len); |
506 |
req->bus->complete(req->bus, SCSI_REASON_DATA, req->tag, len); |
|
506 |
req->bus->ops->complete(req->bus, SCSI_REASON_DATA, req->tag, len);
|
|
507 | 507 |
} |
508 | 508 |
|
509 | 509 |
void scsi_req_print(SCSIRequest *req) |
... | ... | |
538 | 538 |
{ |
539 | 539 |
assert(req->status != -1); |
540 | 540 |
scsi_req_dequeue(req); |
541 |
req->bus->complete(req->bus, SCSI_REASON_DONE, |
|
542 |
req->tag, |
|
543 |
req->status); |
|
541 |
req->bus->ops->complete(req->bus, SCSI_REASON_DONE,
|
|
542 |
req->tag,
|
|
543 |
req->status);
|
|
544 | 544 |
} |
545 | 545 |
|
546 | 546 |
static char *scsibus_get_fw_dev_path(DeviceState *dev) |
Also available in: Unified diff