By: fulinux
E-mail: fulinux@sina.com
Blog: https://blog.csdn.net/fulinus
喜欢的盆友欢迎点赞和订阅!
你的喜欢就是我写作的动力!
驱动程序设计模式
本文档描述了设备驱动程序中的一些常见设计模式。子系统维护人员可能会要求驱动程序开发人员遵循这些设计模式。
- State Container 状态容器
- container_of()函数
State Container 状态容器
虽然内核包含一些设备驱动程序,这些驱动程序假定它们在某个(单核?)系统上只被probe()一次,但通常假定驱动程序绑定的设备将出现在多核系统中, 这意味着probe()函数和所有回调都需要是可重入的。
实现这一点的最常见方法是使用状态容器设计模式。通常有以下形式:
struct foo {
//foo和bar就是外国人的张三、李四、王二麻子
spinlo