digic-timer.c (95a9457fd44ad97c518858a4e1586a5498f9773c) | digic-timer.c (b01422622b7c7293196fdaf1dbb4f495af44ecf9) |
---|---|
1/* 2 * QEMU model of the Canon DIGIC timer block. 3 * 4 * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com> 5 * 6 * This model is based on reverse engineering efforts 7 * made by CHDK (http://chdk.wikia.com) and 8 * Magic Lantern (http://www.magiclantern.fm) projects --- 115 unchanged lines hidden (view full) --- 124 }, 125 .endianness = DEVICE_NATIVE_ENDIAN, 126}; 127 128static void digic_timer_init(Object *obj) 129{ 130 DigicTimerState *s = DIGIC_TIMER(obj); 131 | 1/* 2 * QEMU model of the Canon DIGIC timer block. 3 * 4 * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com> 5 * 6 * This model is based on reverse engineering efforts 7 * made by CHDK (http://chdk.wikia.com) and 8 * Magic Lantern (http://www.magiclantern.fm) projects --- 115 unchanged lines hidden (view full) --- 124 }, 125 .endianness = DEVICE_NATIVE_ENDIAN, 126}; 127 128static void digic_timer_init(Object *obj) 129{ 130 DigicTimerState *s = DIGIC_TIMER(obj); 131 |
132 s->ptimer = ptimer_init(NULL, PTIMER_POLICY_DEFAULT); | 132 s->ptimer = ptimer_init_with_bh(NULL, PTIMER_POLICY_DEFAULT); |
133 134 /* 135 * FIXME: there is no documentation on Digic timer 136 * frequency setup so let it always run at 1 MHz 137 */ 138 ptimer_set_freq(s->ptimer, 1 * 1000 * 1000); 139 140 memory_region_init_io(&s->iomem, OBJECT(s), &digic_timer_ops, s, --- 26 unchanged lines hidden --- | 133 134 /* 135 * FIXME: there is no documentation on Digic timer 136 * frequency setup so let it always run at 1 MHz 137 */ 138 ptimer_set_freq(s->ptimer, 1 * 1000 * 1000); 139 140 memory_region_init_io(&s->iomem, OBJECT(s), &digic_timer_ops, s, --- 26 unchanged lines hidden --- |