蜂鸣器驱动

Linux驱动的代码重用有很多的方法,可以采用标准的C程序的方法将要重用的代码放在其他的文件(在头文件中声明)中。如果要使用某些功能,include相应的头文件即可,也可以是另外一种动态重用的方式,也是一个Linux驱动可以使用另外一个Linux驱动中的资源。蜂鸣器是 S3C6410 开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声。 这章将介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣 器). PWm时驱动的实现方式不同于 LED 驱动, PWM 驱动将由多个文件组成。这也是大多数 Linux 驱动的标准实现方式. 也就是说--个复杂的驱动不太可能将所有的代码都放在…个文件中。

卸载由于异常情况而导致的Linux驱动模块无法卸载的情况:

1.初始化函数崩溃:将当前的Linux驱动模块的引用计数器清零即可

2.卸载函数被阻塞:将原来的卸载函数替换成一个空的卸载函数即可

原文地址:https://www.cnblogs.com/sleepywei/p/5638396.html