由于Linux APM系统中没有bios设备, 所以只能为Linux APM系统创建一个虚拟的字符设备与用户空间进行通讯. 即在Linux APM中实现一个misc设备,实质上也是一个字符设备, misc设备的主设备号是10, 而apm_bios作为个misc设备, 次设备号是134。
Linux2.6.30.10内核的/drivers/char/apm-emulation.c提供了Linux APM_bios的驱动模型,也就是系统进入睡眠的入口函数,更早的版本的接口文件为:arch/arm/kernel/apm.c
//注册结构为:
- static struct file_operations apm_bios_fops = {
- .owner = THIS_MODULE,
- .read = apm_read,
- .poll = apm_poll,
- .ioctl = apm_ioctl,
- .open = apm_open,
- .release = apm_release,
- };
- static struct miscdevice apm_device = {
- .minor = APM_MINOR_DEV,
- .name = "apm_bios",
- .fops = &apm_bios_fops
- };
这样就我们就可以像对一般的设备文件一样,读取Linux APM_bios的相关信息了。
【编辑推荐】
- Linux 查看磁盘空间实现代码介绍
- Linux操作系统需要微软的十大帮助
- 探寻Linux到底需要多低的配置
- Linux测试工具tcpdump监视TCP/IP连接命令介绍
- Linux流量控制实例应用介绍