Atomic.h force_clock

时间:2013-12-30 16:03:05

标签: android linux kernel atomic

我正在尝试了解android内核中的一些代码(特定于芯片组)

所以我用另一个内核做了一个差异

我在atomic.h中发现了一些我无法理解的东西:

#if defined(FORCE_CACHED_LOCK)
#if !defined(force_clock)
extern void __force_clock(u32 l);
#define force_clock __force_clock
#endif
#else
#define force_clock(l)
#endif

在atomic.h的每个函数

force_clock((u32)v)或force_clock((u32)ptr)或force_clock((u32)* addr)(如果使用ptr或* addr或v,则取决于函数本身)

我确定没有设置FORCE_CACHED_LOCK所以会发生什么?这段代码有用吗?

1 个答案:

答案 0 :(得分:1)

所以答案很简单......

我只需要检查FORCE_CACHED_LOCK是否真的没有设置,我必须确定我这样说:

#if defined(FORCE_CACHED_LOCK)
#error zonk
#if !defined(force_clock)

如果FORCE_CACHED_LOCK由某些神奇的东西设置,那么构建应该会失败...如果没有设置,force_clock是无用的,所以我可以删除它:)

derRichard @ OFTC IRC的致谢