[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 08/55] ide: simplify start_transfer callbacks
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 08/55] ide: simplify start_transfer callbacks |
Date: |
Fri, 15 Aug 2014 18:06:15 +0100 |
From: Paolo Bonzini <address@hidden>
Drop the unused return value and make the callback optional.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/ide/ahci.c | 4 +---
hw/ide/core.c | 10 +++-------
hw/ide/internal.h | 3 +--
hw/ide/macio.c | 6 ------
hw/ide/pci.c | 6 ------
5 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index e494503..adbac3d 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -991,7 +991,7 @@ out:
}
/* DMA dev <-> ram */
-static int ahci_start_transfer(IDEDMA *dma)
+static void ahci_start_transfer(IDEDMA *dma)
{
AHCIDevice *ad = DO_UPCAST(AHCIDevice, dma, dma);
IDEState *s = &ad->port.ifs[0];
@@ -1041,8 +1041,6 @@ out:
/* done with DMA */
ahci_trigger_irq(ad->hba, ad, PORT_IRQ_STAT_DSS);
}
-
- return 0;
}
static void ahci_start_dma(IDEDMA *dma, IDEState *s,
diff --git a/hw/ide/core.c b/hw/ide/core.c
index d52a6f6..e5ddecb 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -434,7 +434,9 @@ void ide_transfer_start(IDEState *s, uint8_t *buf, int size,
if (!(s->status & ERR_STAT)) {
s->status |= DRQ_STAT;
}
- s->bus->dma->ops->start_transfer(s->bus->dma);
+ if (s->bus->dma->ops->start_transfer) {
+ s->bus->dma->ops->start_transfer(s->bus->dma);
+ }
}
void ide_transfer_stop(IDEState *s)
@@ -2207,11 +2209,6 @@ static void ide_nop_start(IDEDMA *dma, IDEState *s,
{
}
-static int ide_nop(IDEDMA *dma)
-{
- return 0;
-}
-
static int ide_nop_int(IDEDMA *dma, int x)
{
return 0;
@@ -2223,7 +2220,6 @@ static void ide_nop_restart(void *opaque, int x, RunState
y)
static const IDEDMAOps ide_dma_nop_ops = {
.start_dma = ide_nop_start,
- .start_transfer = ide_nop,
.prepare_buf = ide_nop_int,
.rw_buf = ide_nop_int,
.set_unit = ide_nop_int,
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index 940dd45..64fbf2f 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -321,7 +321,6 @@ typedef void EndTransferFunc(IDEState *);
typedef void DMAStartFunc(IDEDMA *, IDEState *, BlockDriverCompletionFunc *);
typedef void DMAVoidFunc(IDEDMA *);
-typedef int DMAFunc(IDEDMA *);
typedef int DMAIntFunc(IDEDMA *, int);
typedef void DMARestartFunc(void *, int, RunState);
@@ -428,7 +427,7 @@ struct IDEState {
struct IDEDMAOps {
DMAStartFunc *start_dma;
- DMAFunc *start_transfer;
+ DMAVoidFunc *start_transfer;
DMAIntFunc *prepare_buf;
DMAIntFunc *rw_buf;
DMAIntFunc *set_unit;
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index 0e26bac..b7cedb6 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -545,11 +545,6 @@ static void macio_ide_reset(DeviceState *dev)
ide_bus_reset(&d->bus);
}
-static int ide_nop(IDEDMA *dma)
-{
- return 0;
-}
-
static int ide_nop_int(IDEDMA *dma, int x)
{
return 0;
@@ -571,7 +566,6 @@ static void ide_dbdma_start(IDEDMA *dma, IDEState *s,
static const IDEDMAOps dbdma_ops = {
.start_dma = ide_dbdma_start,
- .start_transfer = ide_nop,
.prepare_buf = ide_nop_int,
.rw_buf = ide_nop_int,
.set_unit = ide_nop_int,
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index 9dc3cc5..1ee8c0a 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -264,11 +264,6 @@ static void bmdma_reset(IDEDMA *dma)
bm->nsector = 0;
}
-static int bmdma_start_transfer(IDEDMA *dma)
-{
- return 0;
-}
-
static void bmdma_irq(void *opaque, int n, int level)
{
BMDMAState *bm = opaque;
@@ -500,7 +495,6 @@ void pci_ide_create_devs(PCIDevice *dev, DriveInfo
**hd_table)
static const struct IDEDMAOps bmdma_ops = {
.start_dma = bmdma_start_dma,
- .start_transfer = bmdma_start_transfer,
.prepare_buf = bmdma_prepare_buf,
.rw_buf = bmdma_rw_buf,
.set_unit = bmdma_set_unit,
--
1.9.3
- [Qemu-devel] [PULL 00/55] Block patches, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 01/55] blkdebug: report errors on flush too, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 02/55] libqtest: add QTEST_LOG for debugging qtest testcases, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 03/55] ide-test: add test for werror=stop, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 04/55] ide: stash aiocb for flushes, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 05/55] ide: simplify reset callbacks, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 06/55] ide: simplify set_inactive callbacks, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 08/55] ide: simplify start_transfer callbacks,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 07/55] ide: simplify async_cmd_done callbacks, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 09/55] ide: wrap start_dma callback, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 11/55] ide: fold add_status callback into set_inactive, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 10/55] ide: remove wrong setting of BM_STATUS_INT, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 12/55] ide: move BM_STATUS bits to pci.[ch], Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 13/55] ide: move retry constants out of BM_STATUS_* namespace, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 14/55] ahci: remove duplicate PORT_IRQ_* constants, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 16/55] ide: make all commands go through cmd_done, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 17/55] ahci: construct PIO Setup FIS for PIO commands, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 15/55] ide: stop PIO transfer on errors, Stefan Hajnoczi, 2014/08/15