static struct omap_sti_s *omap_sti_init(struct omap_target_agent_s *ta,

                MemoryRegion *sysmem,

                target_phys_addr_t channel_base, qemu_irq irq, omap_clk clk,

                CharDriverState *chr)

{

    struct omap_sti_s *s = (struct omap_sti_s *)

            g_malloc0(sizeof(struct omap_sti_s));



    s->irq = irq;

    omap_sti_reset(s);



    s->chr = chr ?: qemu_chr_new("null", "null", NULL);



    memory_region_init_io(&s->iomem, &omap_sti_ops, s, "omap.sti",

                          omap_l4_region_size(ta, 0));

    omap_l4_attach(ta, 0, &s->iomem);



    memory_region_init_io(&s->iomem_fifo, &omap_sti_fifo_ops, s,

                          "omap.sti.fifo", 0x10000);

    memory_region_add_subregion(sysmem, channel_base, &s->iomem_fifo);



    return s;

}

static struct omap_sti_s *omap_sti_init(struct omap_target_agent_s *ta,

                MemoryRegion *sysmem,

                target_phys_addr_t channel_base, qemu_irq irq, omap_clk clk,

                CharDriverState *chr)

{

    struct omap_sti_s *s = (struct omap_sti_s *)

            g_malloc0(sizeof(struct omap_sti_s));



    s->irq = irq;

    omap_sti_reset(s);



    s->chr = chr ?: qemu_chr_new("null", "null", NULL);



    memory_region_init_io(&s->iomem, &omap_sti_ops, s, "omap.sti",

                          omap_l4_region_size(ta, 0));

    omap_l4_attach(ta, 0, &s->iomem);



    memory_region_init_io(&s->iomem_fifo, &omap_sti_fifo_ops, s,

                          "omap.sti.fifo", 0x10000);

    memory_region_add_subregion(sysmem, channel_base, &s->iomem_fifo);



    return s;

}

static struct omap_sti_s *FUNC_0(struct omap_target_agent_s *VAR_0,

                MemoryRegion *VAR_1,

                target_phys_addr_t VAR_2, qemu_irq VAR_3, omap_clk VAR_4,

                CharDriverState *VAR_5)

{

    struct omap_sti_s *VAR_6 = (struct omap_sti_s *)

            g_malloc0(sizeof(struct omap_sti_s));



    VAR_6->VAR_3 = VAR_3;

    omap_sti_reset(VAR_6);



    VAR_6->VAR_5 = VAR_5 ?: qemu_chr_new("null", "null", NULL);



    memory_region_init_io(&VAR_6->iomem, &omap_sti_ops, VAR_6, "omap.sti",

                          omap_l4_region_size(VAR_0, 0));

    omap_l4_attach(VAR_0, 0, &VAR_6->iomem);



    memory_region_init_io(&VAR_6->iomem_fifo, &omap_sti_fifo_ops, VAR_6,

                          "omap.sti.fifo", 0x10000);

    memory_region_add_subregion(VAR_1, VAR_2, &VAR_6->iomem_fifo);



    return VAR_6;

}

static struct omap_sti_s *FUNC_0(struct omap_target_agent_s *VAR_0,
MemoryRegion *VAR_1,
target_phys_addr_t VAR_2, qemu_irq VAR_3, omap_clk VAR_4,
CharDriverState *VAR_5)
{ struct omap_sti_s *VAR_6 = (struct omap_sti_s *)
g_malloc0(sizeof(struct omap_sti_s)); VAR_6->VAR_3 = VAR_3; omap_sti_reset(VAR_6); VAR_6->VAR_5 = VAR_5 ?: qemu_chr_new("null", "null", NULL); memory_region_init_io(&VAR_6->iomem, &omap_sti_ops, VAR_6, "omap.sti",
omap_l4_region_size(VAR_0, 0)); omap_l4_attach(VAR_0, 0, &VAR_6->iomem); memory_region_init_io(&VAR_6->iomem_fifo, &omap_sti_fifo_ops, VAR_6,
"omap.sti.fifo", 0x10000); memory_region_add_subregion(VAR_1, VAR_2, &VAR_6->iomem_fifo); return VAR_6; }