summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-08-04 17:11:07 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-15 18:03:12 +0100
commit829b933b704a329d60d2ea1fe4c8e8e0a5505d8a (patch)
tree3533aeabdd24bf42908a34f1812db07f0d60c56c
parent1374bec0634aac9a460fe3b57bbe8b1aa7a99cb7 (diff)
downloadqemu-829b933b704a329d60d2ea1fe4c8e8e0a5505d8a.tar.gz
ide: simplify set_inactive callbacks
Drop the unused return value and make the callback optional. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--hw/ide/ahci.c6
-rw-r--r--hw/ide/core.c5
-rw-r--r--hw/ide/internal.h2
-rw-r--r--hw/ide/macio.c1
-rw-r--r--hw/ide/pci.c4
5 files changed, 5 insertions, 13 deletions
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 273712faaa..679357fc12 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -1116,11 +1116,6 @@ static int ahci_dma_add_status(IDEDMA *dma, int status)
return 0;
}
-static int ahci_dma_set_inactive(IDEDMA *dma)
-{
- return 0;
-}
-
static int ahci_async_cmd_done(IDEDMA *dma)
{
AHCIDevice *ad = DO_UPCAST(AHCIDevice, dma, dma);
@@ -1154,7 +1149,6 @@ static const IDEDMAOps ahci_dma_ops = {
.rw_buf = ahci_dma_rw_buf,
.set_unit = ahci_dma_set_unit,
.add_status = ahci_dma_add_status,
- .set_inactive = ahci_dma_set_inactive,
.async_cmd_done = ahci_async_cmd_done,
.restart_cb = ahci_dma_restart_cb,
};
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 4183a3abe2..d52a6f6104 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -595,7 +595,9 @@ static void ide_async_cmd_done(IDEState *s)
void ide_set_inactive(IDEState *s)
{
s->bus->dma->aiocb = NULL;
- s->bus->dma->ops->set_inactive(s->bus->dma);
+ if (s->bus->dma->ops->set_inactive) {
+ s->bus->dma->ops->set_inactive(s->bus->dma);
+ }
ide_async_cmd_done(s);
}
@@ -2226,7 +2228,6 @@ static const IDEDMAOps ide_dma_nop_ops = {
.rw_buf = ide_nop_int,
.set_unit = ide_nop_int,
.add_status = ide_nop_int,
- .set_inactive = ide_nop,
.restart_cb = ide_nop_restart,
};
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index 6cca46f506..34064cf1a8 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -433,7 +433,7 @@ struct IDEDMAOps {
DMAIntFunc *rw_buf;
DMAIntFunc *set_unit;
DMAIntFunc *add_status;
- DMAFunc *set_inactive;
+ DMAVoidFunc *set_inactive;
DMAFunc *async_cmd_done;
DMARestartFunc *restart_cb;
DMAVoidFunc *reset;
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index ca39e3f9b6..0e26bac67f 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -576,7 +576,6 @@ static const IDEDMAOps dbdma_ops = {
.rw_buf = ide_nop_int,
.set_unit = ide_nop_int,
.add_status = ide_nop_int,
- .set_inactive = ide_nop,
.restart_cb = ide_nop_restart,
};
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index c24496a992..9dc3cc5611 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -160,15 +160,13 @@ static int bmdma_add_status(IDEDMA *dma, int status)
return 0;
}
-static int bmdma_set_inactive(IDEDMA *dma)
+static void bmdma_set_inactive(IDEDMA *dma)
{
BMDMAState *bm = DO_UPCAST(BMDMAState, dma, dma);
bm->status &= ~BM_STATUS_DMAING;
bm->dma_cb = NULL;
bm->unit = -1;
-
- return 0;
}
static void bmdma_restart_dma(BMDMAState *bm, enum ide_dma_cmd dma_cmd)