__init属性的函数

本文深入探讨内核中__init属性的函数及其作用,详细解释了这些函数如何在系统启动初期通过do_initcalls函数执行,并将其放到.init.text段进行初始化。文章结合实例,如DriverInstall函数,阐述了其在内核初始化过程中的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核中有众多__init属性的函数,这些函数被用作初始化。
比如:

/*******************************************************
Function:
    Driver Install function.
Input:
    None.
Output:
 *   Executive Outcomes. 0---succeed.
********************************************************/
static int __init goodix_ts_init(void)
{
    GTP_DEBUG_FUNC();
    GTP_INFO("GTP driver installing...");
    return i2c_add_driver(&goodix_ts_driver);
}

include/linux/init.h

#define __init      __section(.init.text) __cold notrace

编译的时候__init属性的函数就会被放到.init.text段.
系统启动初期调用:do_initcalls函数会执行.init.text段中所有的函数.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值