hw/timer: QOM'ify slavio_timer
rename slavio_timer_init1 to slavio_timer_init and assign it to slavio_timer_info.instance_init, then we drop the SysBusDeviceClass::init Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
		
							parent
							
								
									c04e34a982
								
							
						
					
					
						commit
						4410b94cce
					
				@ -373,9 +373,10 @@ static void slavio_timer_reset(DeviceState *d)
 | 
				
			|||||||
    s->cputimer_mode = 0;
 | 
					    s->cputimer_mode = 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int slavio_timer_init1(SysBusDevice *dev)
 | 
					static void slavio_timer_init(Object *obj)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SLAVIO_TIMERState *s = SLAVIO_TIMER(dev);
 | 
					    SLAVIO_TIMERState *s = SLAVIO_TIMER(obj);
 | 
				
			||||||
 | 
					    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 | 
				
			||||||
    QEMUBH *bh;
 | 
					    QEMUBH *bh;
 | 
				
			||||||
    unsigned int i;
 | 
					    unsigned int i;
 | 
				
			||||||
    TimerContext *tc;
 | 
					    TimerContext *tc;
 | 
				
			||||||
@ -394,14 +395,12 @@ static int slavio_timer_init1(SysBusDevice *dev)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        size = i == 0 ? SYS_TIMER_SIZE : CPU_TIMER_SIZE;
 | 
					        size = i == 0 ? SYS_TIMER_SIZE : CPU_TIMER_SIZE;
 | 
				
			||||||
        snprintf(timer_name, sizeof(timer_name), "timer-%i", i);
 | 
					        snprintf(timer_name, sizeof(timer_name), "timer-%i", i);
 | 
				
			||||||
        memory_region_init_io(&tc->iomem, OBJECT(s), &slavio_timer_mem_ops, tc,
 | 
					        memory_region_init_io(&tc->iomem, obj, &slavio_timer_mem_ops, tc,
 | 
				
			||||||
                              timer_name, size);
 | 
					                              timer_name, size);
 | 
				
			||||||
        sysbus_init_mmio(dev, &tc->iomem);
 | 
					        sysbus_init_mmio(dev, &tc->iomem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        sysbus_init_irq(dev, &s->cputimer[i].irq);
 | 
					        sysbus_init_irq(dev, &s->cputimer[i].irq);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    return 0;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static Property slavio_timer_properties[] = {
 | 
					static Property slavio_timer_properties[] = {
 | 
				
			||||||
@ -412,9 +411,7 @@ static Property slavio_timer_properties[] = {
 | 
				
			|||||||
static void slavio_timer_class_init(ObjectClass *klass, void *data)
 | 
					static void slavio_timer_class_init(ObjectClass *klass, void *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    DeviceClass *dc = DEVICE_CLASS(klass);
 | 
					    DeviceClass *dc = DEVICE_CLASS(klass);
 | 
				
			||||||
    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    k->init = slavio_timer_init1;
 | 
					 | 
				
			||||||
    dc->reset = slavio_timer_reset;
 | 
					    dc->reset = slavio_timer_reset;
 | 
				
			||||||
    dc->vmsd = &vmstate_slavio_timer;
 | 
					    dc->vmsd = &vmstate_slavio_timer;
 | 
				
			||||||
    dc->props = slavio_timer_properties;
 | 
					    dc->props = slavio_timer_properties;
 | 
				
			||||||
@ -424,6 +421,7 @@ static const TypeInfo slavio_timer_info = {
 | 
				
			|||||||
    .name          = TYPE_SLAVIO_TIMER,
 | 
					    .name          = TYPE_SLAVIO_TIMER,
 | 
				
			||||||
    .parent        = TYPE_SYS_BUS_DEVICE,
 | 
					    .parent        = TYPE_SYS_BUS_DEVICE,
 | 
				
			||||||
    .instance_size = sizeof(SLAVIO_TIMERState),
 | 
					    .instance_size = sizeof(SLAVIO_TIMERState),
 | 
				
			||||||
 | 
					    .instance_init = slavio_timer_init,
 | 
				
			||||||
    .class_init    = slavio_timer_class_init,
 | 
					    .class_init    = slavio_timer_class_init,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user