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