r3444 - trunk/src/host/qemu-neo1973/hw
andrew at sita.openmoko.org
andrew at sita.openmoko.org
Mon Nov 19 20:05:07 CET 2007
Author: andrew
Date: 2007-11-19 20:05:05 +0100 (Mon, 19 Nov 2007)
New Revision: 3444
Modified:
trunk/src/host/qemu-neo1973/hw/neo1973.c
trunk/src/host/qemu-neo1973/hw/s3c.h
trunk/src/host/qemu-neo1973/hw/s3c2410.c
trunk/src/host/qemu-neo1973/hw/s3c24xx_mmci.c
Log:
Remove s3c24xx_mmci dependency on sysemu.h.
Convert s3c24xx_mmci callbacks to qemu_irq api.
Modified: trunk/src/host/qemu-neo1973/hw/neo1973.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/neo1973.c 2007-11-19 18:54:17 UTC (rev 3443)
+++ trunk/src/host/qemu-neo1973/hw/neo1973.c 2007-11-19 19:05:05 UTC (rev 3444)
@@ -183,15 +183,6 @@
}
/* Handlers for input ports */
-static void neo_mmc_cover_switch(void *irq, int in)
-{
- qemu_set_irq((qemu_irq) irq, !in);
-}
-
-static void neo_mmc_writeprotect_switch(void *irq, int wp)
-{
-}
-
static void neo_nand_wp_switch(void *opaque, int line, int level)
{
struct neo_board_s *s = (struct neo_board_s *) opaque;
@@ -262,10 +253,9 @@
s3c_timers_cmp_handler_set(s->cpu->timers, 0, neo_bl_intensity, s);
/* MMC/SD host */
- s3c_mmci_handlers(s->cpu->mmci,
- s3c_gpio_in_get(s->cpu->io)[GTA01_IRQ_nSD_DETECT],
- neo_mmc_writeprotect_switch,
- neo_mmc_cover_switch);
+ s3c_mmci_handlers(s->cpu->mmci, 0,
+ qemu_irq_invert(s3c_gpio_in_get(
+ s->cpu->io)[GTA01_IRQ_nSD_DETECT]));
}
/* PMB 2520 Hammerhead A-GPS chip */
Modified: trunk/src/host/qemu-neo1973/hw/s3c.h
===================================================================
--- trunk/src/host/qemu-neo1973/hw/s3c.h 2007-11-19 18:54:17 UTC (rev 3443)
+++ trunk/src/host/qemu-neo1973/hw/s3c.h 2007-11-19 19:05:05 UTC (rev 3444)
@@ -157,10 +157,9 @@
/* s3c24xx_mmci.c */
struct s3c_mmci_state_s;
struct s3c_mmci_state_s *s3c_mmci_init(target_phys_addr_t base,
- qemu_irq irq, qemu_irq *dma);
-void s3c_mmci_handlers(struct s3c_mmci_state_s *s, void *opaque,
- void (*readonly_cb)(void *, int),
- void (*coverswitch_cb)(void *, int));
+ BlockDriverState *bd, qemu_irq irq, qemu_irq *dma);
+void s3c_mmci_handlers(struct s3c_mmci_state_s *s, qemu_irq readonly_cb,
+ qemu_irq coverswitch_cb);
void s3c_mmci_reset(struct s3c_mmci_state_s *s);
/* s3c24xx_rtc.c */
Modified: trunk/src/host/qemu-neo1973/hw/s3c2410.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/s3c2410.c 2007-11-19 18:54:17 UTC (rev 3443)
+++ trunk/src/host/qemu-neo1973/hw/s3c2410.c 2007-11-19 19:05:05 UTC (rev 3444)
@@ -2908,7 +2908,7 @@
s->irq[S3C_PIC_SPI0], s->drq[S3C_RQ_SPI0],
s->irq[S3C_PIC_SPI1], s->drq[S3C_RQ_SPI1], s->io);
- s->mmci = s3c_mmci_init(0x5a000000, s->irq[S3C_PIC_SDI], s->drq);
+ s->mmci = s3c_mmci_init(0x5a000000, sd_bdrv, s->irq[S3C_PIC_SDI], s->drq);
if (usb_enabled) {
usb_ohci_init_memio(0x49000000, 3, -1, s->irq[S3C_PIC_USBH]);
Modified: trunk/src/host/qemu-neo1973/hw/s3c24xx_mmci.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/s3c24xx_mmci.c 2007-11-19 18:54:17 UTC (rev 3443)
+++ trunk/src/host/qemu-neo1973/hw/s3c24xx_mmci.c 2007-11-19 19:05:05 UTC (rev 3444)
@@ -10,7 +10,6 @@
#include "s3c.h"
#include "sd.h"
#include "hw.h"
-#include "sysemu.h"
struct s3c_mmci_state_s {
target_phys_addr_t base;
@@ -415,7 +414,7 @@
}
struct s3c_mmci_state_s *s3c_mmci_init(target_phys_addr_t base,
- qemu_irq irq, qemu_irq *dma)
+ BlockDriverState *bd, qemu_irq irq, qemu_irq *dma)
{
int iomemtype;
struct s3c_mmci_state_s *s = (struct s3c_mmci_state_s *)
@@ -434,14 +433,13 @@
register_savevm("s3c24xx_mmci", 0, 0, s3c_mmci_save, s3c_mmci_load, s);
/* Instantiate the actual storage */
- s->card = sd_init(sd_bdrv);
+ s->card = sd_init(bd);
return s;
}
-void s3c_mmci_handlers(struct s3c_mmci_state_s *s, void *opaque,
- void (*readonly_cb)(void *, int),
- void (*coverswitch_cb)(void *, int))
+void s3c_mmci_handlers(struct s3c_mmci_state_s *s, qemu_irq readonly_cb,
+ qemu_irq coverswitch_cb)
{
- /*sd_set_cb(s->card, opaque, readonly_cb, coverswitch_cb);*/
+ sd_set_cb(s->card, readonly_cb, coverswitch_cb);
}
More information about the commitlog
mailing list