__initdata 和 __init - Linux

Table of Contents

※ [本文轉錄自 C_and_CPP 看板 #1JnJQ54O ]

作者: gn00618777 (非常念舊) 看板: C_and_CPP
標題: [問題] __initdata 和 __init
時間: Tue Jul 15 22:11:13 2014

在 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了嗎?

謝謝。


--

All Comments