Revision 38641a52 hw/pxa2xx_lcd.c

b/hw/pxa2xx_lcd.c
62 62
        uint32_t command;
63 63
    } dma_ch[7];
64 64

  
65
    void (*vsync_cb)(void *opaque);
66
    void *opaque;
65
    qemu_irq vsync_cb;
67 66
    int orientation;
68 67
};
69 68

  
......
865 864
        dpy_update(s->ds, 0, miny, s->xres, maxy);
866 865
    pxa2xx_lcdc_int_update(s);
867 866

  
868
    if (s->vsync_cb)
869
        s->vsync_cb(s->opaque);
867
    qemu_irq_raise(s->vsync_cb);
870 868
}
871 869

  
872 870
static void pxa2xx_invalidate_display(void *opaque)
......
1042 1040
    return s;
1043 1041
}
1044 1042

  
1045
void pxa2xx_lcd_vsync_cb(struct pxa2xx_lcdc_s *s,
1046
                void (*cb)(void *opaque), void *opaque) {
1047
    s->vsync_cb = cb;
1048
    s->opaque = opaque;
1043
void pxa2xx_lcd_vsync_notifier(struct pxa2xx_lcdc_s *s, qemu_irq handler)
1044
{
1045
    s->vsync_cb = handler;
1049 1046
}

Also available in: Unified diff