Commit 380cd056 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

console: add GraphicHwOps



Pass a single GraphicHwOps struct pointer to graphic_console_init,
instead of a bunch of function pointers.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 27be5587
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -601,6 +601,11 @@ static const MemoryRegionOps musicpal_lcd_ops = {
    .endianness = DEVICE_NATIVE_ENDIAN,
};

static const GraphicHwOps musicpal_gfx_ops = {
    .invalidate  = lcd_invalidate,
    .gfx_update  = lcd_refresh,
};

static int musicpal_lcd_init(SysBusDevice *dev)
{
    musicpal_lcd_state *s = FROM_SYSBUS(musicpal_lcd_state, dev);
@@ -611,8 +616,7 @@ static int musicpal_lcd_init(SysBusDevice *dev)
                          "musicpal-lcd", MP_LCD_SIZE);
    sysbus_init_mmio(dev, &s->iomem);

    s->con = graphic_console_init(lcd_refresh, lcd_invalidate,
                                  NULL, s);
    s->con = graphic_console_init(&musicpal_gfx_ops, s);
    qemu_console_resize(s->con, 128*3, 64*3);

    qdev_init_gpio_in(&dev->qdev, musicpal_lcd_gpio_brigthness_in, 3);
+6 −3
Original line number Diff line number Diff line
@@ -944,6 +944,11 @@ static void blizzard_update_display(void *opaque)
#define DEPTH 32
#include "blizzard_template.h"

static const GraphicHwOps blizzard_ops = {
    .invalidate  = blizzard_invalidate_display,
    .gfx_update  = blizzard_update_display,
};

void *s1d13745_init(qemu_irq gpio_int)
{
    BlizzardState *s = (BlizzardState *) g_malloc0(sizeof(*s));
@@ -951,9 +956,7 @@ void *s1d13745_init(qemu_irq gpio_int)

    s->fb = g_malloc(0x180000);

    s->con = graphic_console_init(blizzard_update_display,
                                  blizzard_invalidate_display,
                                  NULL, s);
    s->con = graphic_console_init(&blizzard_ops, s);
    surface = qemu_console_surface(s->con);

    switch (surface_bits_per_pixel(surface)) {
+2 −6
Original line number Diff line number Diff line
@@ -2910,9 +2910,7 @@ static int vga_initfn(ISADevice *dev)
    vga_common_init(s);
    cirrus_init_common(&d->cirrus_vga, CIRRUS_ID_CLGD5430, 0,
                       isa_address_space(dev), isa_address_space_io(dev));
    s->con = graphic_console_init(s->update, s->invalidate,
                                  s->text_update,
                                  s);
    s->con = graphic_console_init(s->hw_ops, s);
    rom_add_vga(VGABIOS_CIRRUS_FILENAME);
    /* XXX ISA-LFB support */
    /* FIXME not qdev yet */
@@ -2959,9 +2957,7 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
     vga_common_init(&s->vga);
     cirrus_init_common(s, device_id, 1, pci_address_space(dev),
                        pci_address_space_io(dev));
     s->vga.con = graphic_console_init(s->vga.update, s->vga.invalidate,
                                       s->vga.text_update,
                                       &s->vga);
     s->vga.con = graphic_console_init(s->vga.hw_ops, &s->vga);

     /* setup PCI */

+6 −2
Original line number Diff line number Diff line
@@ -1887,6 +1887,11 @@ static const VMStateDescription exynos4210_fimd_vmstate = {
    }
};

static const GraphicHwOps exynos4210_fimd_ops = {
    .invalidate  = exynos4210_fimd_invalidate,
    .gfx_update  = exynos4210_fimd_update,
};

static int exynos4210_fimd_init(SysBusDevice *dev)
{
    Exynos4210fimdState *s = FROM_SYSBUS(Exynos4210fimdState, dev);
@@ -1900,8 +1905,7 @@ static int exynos4210_fimd_init(SysBusDevice *dev)
    memory_region_init_io(&s->iomem, &exynos4210_fimd_mmio_ops, s,
            "exynos4210.fimd", FIMD_REGS_SIZE);
    sysbus_init_mmio(dev, &s->iomem);
    s->console = graphic_console_init(exynos4210_fimd_update,
                                      exynos4210_fimd_invalidate, NULL, s);
    s->console = graphic_console_init(&exynos4210_fimd_ops, s);

    return 0;
}
+6 −3
Original line number Diff line number Diff line
@@ -475,13 +475,16 @@ static const VMStateDescription vmstate_g364fb = {
    }
};

static const GraphicHwOps g364fb_ops = {
    .invalidate  = g364fb_invalidate_display,
    .gfx_update  = g364fb_update_display,
};

static void g364fb_init(DeviceState *dev, G364State *s)
{
    s->vram = g_malloc0(s->vram_size);

    s->con = graphic_console_init(g364fb_update_display,
                                  g364fb_invalidate_display,
                                  NULL, s);
    s->con = graphic_console_init(&g364fb_ops, s);

    memory_region_init_io(&s->mem_ctrl, &g364fb_ctrl_ops, s, "ctrl", 0x180000);
    memory_region_init_ram_ptr(&s->mem_vram, "vram",
Loading