linux中的Probe()方法是否需要重新进入?

linux中的Probe()方法是否需要重新进入?,linux,linux-kernel,linux-device-driver,Linux,Linux Kernel,Linux Device Driver,有一个函数将从两个不同的平台驱动程序调用。我想知道linux的平台驱动核心是否有机会同时调用两个不同设备的probe()?如果是,则从这两个probe()调用的公共函数应设计为可重入函数。正式规定,内核的每个函数都必须是可重入函数。也许您的函数现在不需要重新进入,但是,谁知道将来会发生什么呢 probe函数调用,更具体地说,AFAIK,它们在启动时的总线枚举期间序列化。然而,有些人可能会尝试将它们并行化,以便更快地启动 此外,我们还可以想象两个设备同时插入的情况。总线驱动器可以在第一次尚未完成时

有一个函数将从两个不同的平台驱动程序调用。我想知道linux的平台驱动核心是否有机会同时调用两个不同设备的probe()?如果是,则从这两个probe()调用的公共函数应设计为可重入函数。

正式规定,内核的每个函数都必须是可重入函数。也许您的函数现在不需要重新进入,但是,谁知道将来会发生什么呢

probe
函数调用,更具体地说,AFAIK,它们在启动时的总线枚举期间序列化。然而,有些人可能会尝试将它们并行化,以便更快地启动

此外,我们还可以想象两个设备同时插入的情况。总线驱动器可以在第一次尚未完成时再次调用
探测
功能


我的意见是,您的探测函数必须是可重入的。

如果您告诉我们您所谈论的
probe()
函数的确切内容,会更好。PCIe?USB?有很多。我提到的probe()是用于摄像头传感器的,它们被注册为平台和i2c设备@VladLazarenkoI认为,如果您的probe()函数需要内存,那么它可以在请求过程中休眠,因此代码确实应该设计为可重入的。