[問題] __initdata 和 __init

作者: gn00618777 (非常念舊)   2014-07-15 22:11:13
在 kernel 的程式裡看到函式有 __initdata 以及 __init 屬性
上網查了一下,只要函式加了這兩個,代表函式只會執行一次之後就被丟出
記憶體...函式裡面的東西會放在.init.text的section中 ←這甚麼鬼= =?
=====================================================================
以下為 kernel porting 的範圍 也是關於C語言
static struct i2c_board_info __initdata am335x_i2c0_boardinfo[] 和
static struct i2c_board_info am335x_i2c1_boardinfo[],為啥有分 __initdata 和
沒有 __initidata? 有啥差別嗎? 假設我device都不在 i2c0 上,我可以直接將
static struct i2c_board_info __initdata am335x_i2c0_boardinfo[] 改成
static struct i2c_board_info __initdata am335x_i2c1_boardinfo[] 嗎?
加了__initdata 的初始化 i2c1 的函式執行過後,上面的devices就不能透過i2c1了嗎?
謝謝。
作者: keeper7478 (the Servant of Cthulhu)   2014-07-16 05:23:00
.init.text->ELF header, .init.text 是 Linux 的special section: http://lwn.net/Articles/531148/

Links booklink

Contact Us: admin [ a t ] ucptt.com