qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH][RFC 13/14] parallel: refactor parallel_reset functi


From: liguang
Subject: [Qemu-devel] [PATCH][RFC 13/14] parallel: refactor parallel_reset function
Date: Wed, 13 Mar 2013 16:01:20 +0800

Signed-off-by: liguang <address@hidden>
---
 hw/parallel.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/parallel.c b/hw/parallel.c
index 3a4e06b..7dc53eb 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -427,9 +427,11 @@ static uint32_t parallel_ioport_ecp_read(void *opaque, 
uint32_t addr)
     return ret;
 }
 
-static void parallel_reset(void *opaque)
+static void parallel_reset(DeviceState *dev)
 {
-    ParallelState *s = opaque;
+    ISADevice *isadev = ISA_DEVICE(dev);
+    ISAParallelState *isaparal = DO_UPCAST(ISAParallelState, dev, isadev);
+    ParallelState *s = &isaparal->state;
 
     s->datar = ~0;
     s->dataw = ~0;
@@ -495,7 +497,6 @@ static int parallel_isa_initfn(ISADevice *dev)
 
     base = isa->iobase;
     isa_init_irq(dev, &s->irq, isa->isairq);
-    qemu_register_reset(parallel_reset, s);
 
     if (qemu_chr_fe_ioctl(s->chr, CHR_IOCTL_PP_READ_STATUS, &dummy) == 0) {
         s->hw_driver = 1;
@@ -575,7 +576,6 @@ bool parallel_mm_init(MemoryRegion *address_space,
     s->irq = irq;
     s->chr = chr;
     s->it_shift = it_shift;
-    qemu_register_reset(parallel_reset, s);
 
     memory_region_init_io(&s->iomem, &parallel_mm_ops, s,
                           "parallel", 8 << it_shift);
@@ -597,6 +597,8 @@ static void parallel_isa_class_initfn(ObjectClass *klass, 
void *data)
     ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
     ic->init = parallel_isa_initfn;
     dc->props = parallel_isa_properties;
+    dc->reset = parallel_reset;
+    dc->on = parallel_reset;
 }
 
 static const TypeInfo parallel_isa_info = {
-- 
1.7.2.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]