Revision defdb20e hw/parallel.c

b/hw/parallel.c
64 64

  
65 65
#define PARA_CTR_SIGNAL (PARA_CTR_SELECT|PARA_CTR_INIT|PARA_CTR_AUTOLF|PARA_CTR_STROBE)
66 66

  
67
struct ParallelState {
67
typedef struct ParallelState {
68 68
    uint8_t dataw;
69 69
    uint8_t datar;
70 70
    uint8_t status;
......
77 77
    uint32_t last_read_offset; /* For debugging */
78 78
    /* Memory-mapped interface */
79 79
    int it_shift;
80
};
80
} ParallelState;
81 81

  
82 82
typedef struct ISAParallelState {
83 83
    ISADevice dev;
......
500 500
    return 0;
501 501
}
502 502

  
503
ParallelState *parallel_init(int index, CharDriverState *chr)
504
{
505
    ISADevice *dev;
506

  
507
    dev = isa_create("isa-parallel");
508
    qdev_prop_set_uint32(&dev->qdev, "index", index);
509
    qdev_prop_set_chr(&dev->qdev, "chardev", chr);
510
    if (qdev_init(&dev->qdev) < 0)
511
        return NULL;
512
    return &DO_UPCAST(ISAParallelState, dev, dev)->state;
513
}
514

  
515 503
/* Memory mapped interface */
516 504
static uint32_t parallel_mm_readb (void *opaque, target_phys_addr_t addr)
517 505
{
......
571 559
};
572 560

  
573 561
/* If fd is zero, it means that the parallel device uses the console */
574
ParallelState *parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq, CharDriverState *chr)
562
bool parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq,
563
                      CharDriverState *chr)
575 564
{
576 565
    ParallelState *s;
577 566
    int io_sw;
......
585 574
    io_sw = cpu_register_io_memory(parallel_mm_read_sw, parallel_mm_write_sw,
586 575
                                   s, DEVICE_NATIVE_ENDIAN);
587 576
    cpu_register_physical_memory(base, 8 << it_shift, io_sw);
588
    return s;
577
    return true;
589 578
}
590 579

  
591 580
static ISADeviceInfo parallel_isa_info = {

Also available in: Unified diff