Linux--timer---clockevents init

本文详细解析了Linux内核中的clockevents设备结构体及其在`brcm,kona-timer`中的初始化过程,包括配置、注册、中断处理和事件设置等功能。主要涉及clock_event_device结构、clockevents_config_and_register、clockevents_register_device等关键函数。" 122521925,5735379,Android 图片压缩与三级缓存实践,"['Android开发', '图片处理', '缓存策略', '内存管理']

简单导图如下:
简图
clockevents设备结构体:

/**

  • struct clock_event_device - clock event device descriptor

  • @event_handler: Assigned by the framework to be called by the low

  •  	level handler of the event source
    
  • @set_next_event: set next event function using a clocksource delta

  • @set_next_ktime: set next event function using a direct ktime value

  • @next_event: local storage for the next event in oneshot mode

  • @max_delta_ns: maximum delta value in ns

  • @min_delta_ns: minimum delta value in ns

  • @mult: nanosecond to cycles multiplier

  • @shift: nanoseconds to cycles divisor (power of two)

  • @state_use_accessors:current state of the device, assigned by the core code

  • @features: features

  • @retries: number of forced programming retries

  • @set_state_periodic: switch state to periodic

  • @set_state_oneshot: switch state to oneshot

  • @set_state_oneshot_stopped: switch state to oneshot_stopped

  • @set_state_shutdown: switch state to shutdown

  • @tick_resume: resume clkevt device

  • @broadcast: function to broadcast events

  • @min_delta_ticks: minimum delta value in ticks stored for reconfiguration

  • @max_delta_ticks: maximum delta value in ticks stored for reconfiguration

  • @name: ptr to clock event name

  • @rating: variable to rate clock event devices

  • @irq: IRQ number (only for non CPU local devices)

  • @bound_on: Bound on CPU

  • @cpumask: cpumask to indicate for which CPUs this device works

  • @list: list head for the management code

  • @owner: module reference
    */
    struct clock_event_device {
    void (*event_handler)(struct clock_event_device ); / 事件到期,产生中断后回调函数 */
    int (*set_next_event)(unsigned long evt, struct clock_event_device ); / 下次时间到期时间设置(tick) */
    int (*set_next_ktime)(kt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值