Linux中探测和恢复功能的区别

时间:2014-03-19 06:13:33

标签: linux-kernel linux-device-driver embedded-linux archlinux

我是Linux的新手。有人可以解释一下这个功能之间的区别。和执行的顺序。

我看了@这个查询。

Probe method device drivers

并对探测有所了解。

我已经了解暂停后调用resume函数。请指导我理解功能。

2 个答案:

答案 0 :(得分:2)

两者的不同之处在于:

<强>探针 当你第一次注册你的设备时会被调用。(在设备启动期间调用(a)。或者(b)。调用insmod / modprob)。

<强>恢复 它是驱动程序的处理函数例程部分,您可以为处理程序或leav提供函数(取决于您的驱动程序实现)。

所以用简单的话说 - 探测器只被调用一次(在驱动程序注册期间)                     - 根据

调用Resume

(a)您是否为处理程序提供了函数例程

(b)如果是这样,那么在暂停时它会被调用。 (因此n次会被调用n次被暂停)

答案 1 :(得分:1)

我想在你提到的一个帖子中有足够的信息。但是我会用其他的方式来解释。

探测功能是linux设备驱动程序初始化序列的一部分。通常,Init函数包含某种驱动程序注册调用,而其中一个linux层稍后会调用probe()。但只有驱动程序的作者可以决定在init()或probe()中应该执行哪些代码部分:它取决于您的设备硬件规范和相应的linux层(PCI,SPI等)功能。顺便说一句,在您的驱动程序中,您没有义务使用任何现有图层,因此不必强制使用probe()。

保留暂停 - 恢复:只有当您想要实现设备的任何节能功能时,才能使用这两项功能。 Suspend()告诉你可以关掉一些东西(如果有的话)来保存能量。 Resume()告诉你应该再次打开。没有这样的选择?不要实现suspend-resume。