有一个函数将从两个不同的平台驱动程序调用。我想知道linux的平台驱动核心是否有机会同时调用两个不同设备的probe()?如果是,那么从这两个probe()中调用的公共函数应该设计为可重入的。
答案 0 :(得分:0)
正式地说,内核的每个功能都必须是可重入的。也许你的功能现在不需要重入,但谁知道将来会发生什么?
probe
函数调用,更具体地说是AFAIK,它们在启动时的总线枚举期间被序列化。但是,有些人可能会尝试并行化它们以便更快地启动。
此外,我们还可以想象两个设备同时插入的情况。公交车司机可以第二次拨打probe
功能,而第一次还没有完成。
我的观点是你的探究功能必须是可重入的。