map c 新增注釋

2022-08-11 06:24:12 字數 2501 閱讀 1658

注釋僅代表個人理解,難免有錯誤之處,僅供參考!1/*

2*  linux/drivers/base/map.c3*

45*    released under gpl v2.6*

7* note: data structure needs to be changed.  it works, but for large dev_t

8* it will be too slow.  it is isolated, though, so these changes will be

9* local to that file.

10*/

1112 #include 

13 #include 

14 #include 

15 #include 

16 #include 

17 #include 

1819

struct kobj_map  *probes[255];

29struct mutex *lock;

30 };

3132

int kobj_map(struct kobj_map *domain, dev_t dev, unsigned long range,

33struct module *module, kobj_probe_t *probe,

34int (*lock)(dev_t, void *), void *data)

35 64

/*[cgw]: 進入臨界區

*/65     mutex_lock(domain->lock);

66/*

[cgw]: 這裡p -= n是因為,在以上for迴圈中,p++了n次 

*/67

for (i = 0, p -= n; i < n; i++, p++, index++) 

89/*

[cgw]: 退出臨界區

*/90     mutex_unlock(domain->lock);

91return

0;92 }

9394

void kobj_unmap(struct kobj_map *domain, dev_t dev, unsigned long range)

95 125         }

126     }

127/*

[cgw]: 退出臨界區

*/128     mutex_unlock(domain->lock);

129/*

[cgw]: 釋放這個節點對應的記憶體空間 

*/130     kfree(found);

131 }

132133

struct kobject *kobj_lookup(struct kobj_map *domain, dev_t dev, int *index)

134 

177/*

[cgw]: 退出臨界區 

*/178         mutex_unlock(domain->lock);

179/*

[cgw]: 呼叫probe的實現函式,並返回對應的kobj 

*/180         kobj = probe(dev, index, data);

181/*

currently ->owner protects _only_ ->probe() itself. 

*/182

/*[cgw]: 放棄模組使用權???? 

*/183         module_put(owner);

184/*

[cgw]: 獲得kobj,退出 

*/185

if (kobj)

186return kobj;

187goto retry;

188     }

189/*

[cgw]: 退出臨界區 

*/190     mutex_unlock(domain->lock);

191return null;

192 }

193194

struct kobj_map *kobj_map_init(kobj_probe_t *base_probe, struct mutex *lock)

195 

209/*

[cgw]: 設定預設裝置號為1,連續range個次裝置,設定probe的實現

210* 函式(**)

211*/

212base->dev = 1;

213base->range = ~0;

214base->get = base_probe;

215/*

[cgw]: 設定probes陣列的初始值 

*/216

for (i = 0; i < 255; i++)

217         p->probes[i] = base;

218     p->lock = lock;

219return

p;220 }

Android Studio 新增注釋模板

定義一下 及注釋的格式規範。及注釋的格式是顯示乙個專案是否合格的乙個參考標準,也是決定專案能否進行到底的乙個重要因素。1 每乙個類,每乙個方法都要有注釋。類的注釋要在開始簡單介紹一下類的功能,作用,目的等。函式的注釋在開始要簡單介紹一下函式的功能和目的等。已用todo標出。函式還要加上每乙個引數的說...

IDEA新增注釋模板

file setting editor file and code templates 修改file header 內容為如下內容 end author alan date version 1.0 editor live templates 新建乙個 live template 注意修改觸發的範圍 ...

oracle 新增欄位和新增注釋

1 增加乙個字段 增加欄位時,只能排在已有欄位的後面,不能插到已有字段之間 alter table t si addr add chg addr flag number 1,0 alter table 表名 add 欄位名稱 字段型別 2 增加兩個字段 alter table t si addr a...