__initdata 和 __init - Linux

By Frederica
at 2014-07-15T22:14
at 2014-07-15T22:14
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了嗎?
謝謝。
--
作者: 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了嗎?
謝謝。
--
Tags:
Linux
All Comments
Related Posts
筆電裡內建的小SSD上 能安裝LINUX嗎?

By Agatha
at 2014-07-15T18:04
at 2014-07-15T18:04
在 Ubuntu 上面安裝 mainline kernels

By Erin
at 2014-07-15T14:25
at 2014-07-15T14:25
nftables技術分享@Debian Jessie (I)

By Margaret
at 2014-07-15T11:11
at 2014-07-15T11:11
nftables技術分享@Debian Jessie (II)

By Olga
at 2014-07-15T06:28
at 2014-07-15T06:28
Slax 7.0.8

By Dorothy
at 2014-07-15T01:08
at 2014-07-15T01:08