X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/1fe5f5eb5378a47bf0f3451762743c162e40faad..d1b1c8d9119229dbeed06cd252917e54a1cb77f6:/lunaix-os/includes/hal/hwtimer.h diff --git a/lunaix-os/includes/hal/hwtimer.h b/lunaix-os/includes/hal/hwtimer.h index efa72d8..2faa507 100644 --- a/lunaix-os/includes/hal/hwtimer.h +++ b/lunaix-os/includes/hal/hwtimer.h @@ -1,18 +1,22 @@ #ifndef __LUNAIX_HWTIMER_H #define __LUNAIX_HWTIMER_H +#include #include #include typedef void (*timer_tick_cb)(); -struct hwtimer_context +struct hwtimer { char* name; void* data; - int (*supported)(struct hwtimer_context*); - void (*init)(struct hwtimer_context*, u32_t hertz, timer_tick_cb); + struct devclass class; + struct device* timer_dev; + + int (*supported)(struct hwtimer*); + void (*init)(struct hwtimer*, u32_t hertz, timer_tick_cb); ticks_t (*systicks)(); ticks_t base_freq; ticks_t running_freq; @@ -21,8 +25,8 @@ struct hwtimer_context void hwtimer_init(u32_t hertz, void* tick_callback); -struct hwtimer_context* -hwtimer_choose(); +struct hwtimer* +select_platform_timer(); ticks_t hwtimer_base_frequency();