我是Linux的新手。有人可以解释一下这个功能之间的区别。和执行的顺序。
我看了@这个查询。
并对探测有所了解。
我已经了解暂停后调用resume函数。请指导我理解功能。
答案 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。