ipmi_msghander源码分析

/driver/char/ipmi/ipmi_msghander.c

源码分析:
(1)module_init
ipmi_init_msghandler_mod() // 驱动加载时,调用该接口
ipmi_register_driver(&ipmidriver.driver) // 标记
rv = driver_register();
return rv;

ipmi_init_msghandler // 其他模块调用该接口,确认设备已经注册
ipmi_register_driver
if (未注册)
init_srcu_struct // 初始化rcu
timer_setup(ipmi_timeout) // 初始化定时器
mod_timer // 配置定时器
atomic_notifier_chain_register // 注册通知链

ipmi_timeout:
ipmi_request_event //
intf->handlers->request_events // 回调

ipmi_timeout_handler //

(2)对外接口 ipmi_ioctl
IPMICTL_SEND_COMMAND:
handle_send_req
ipmi_validate_addr // 地址校验
ipmi_request_settime //
acquire_ipmi_user // 申请user的作用?
srcu_dereference
check_addr // 地址校验
i_ipmi_request // 待详细分析

		release_ipmi_user
posted @ 2022-07-19 00:36  Pangolin2  阅读(158)  评论(0编辑  收藏  举报