aboutsummaryrefslogtreecommitdiff
path: root/hw/omap_mmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/omap_mmc.c')
-rw-r--r--hw/omap_mmc.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/hw/omap_mmc.c b/hw/omap_mmc.c
index 406b404db2..30ba9b685b 100644
--- a/hw/omap_mmc.c
+++ b/hw/omap_mmc.c
@@ -25,7 +25,6 @@ struct omap_mmc_s {
target_phys_addr_t base;
qemu_irq irq;
qemu_irq *dma;
- qemu_irq handler[2];
omap_clk clk;
SDState *card;
uint16_t last_cmd;
@@ -507,22 +506,6 @@ void omap_mmc_reset(struct omap_mmc_s *host)
host->transfer = 0;
}
-static void omap_mmc_ro_cb(void *opaque, int level)
-{
- struct omap_mmc_s *s = (struct omap_mmc_s *) opaque;
-
- if (s->handler[0])
- qemu_set_irq(s->handler[0], level);
-}
-
-static void omap_mmc_cover_cb(void *opaque, int level)
-{
- struct omap_mmc_s *s = (struct omap_mmc_s *) opaque;
-
- if (s->handler[1])
- qemu_set_irq(s->handler[1], level);
-}
-
struct omap_mmc_s *omap_mmc_init(target_phys_addr_t base,
qemu_irq irq, qemu_irq dma[], omap_clk clk)
{
@@ -542,13 +525,10 @@ struct omap_mmc_s *omap_mmc_init(target_phys_addr_t base,
/* Instantiate the storage */
s->card = sd_init(sd_bdrv);
- sd_set_cb(s->card, s, omap_mmc_ro_cb, omap_mmc_cover_cb);
-
return s;
}
void omap_mmc_handlers(struct omap_mmc_s *s, qemu_irq ro, qemu_irq cover)
{
- s->handler[0] = ro;
- s->handler[1] = cover;
+ sd_set_cb(s->card, ro, cover);
}