Linux驱动3_总线设备(二)

简介:
#include <linux/init.h>
#include <linux/module.h>
#include "simple.h"
//	在虚拟总线simple bus上边添加一个设备,并添加其驱动
int probe (struct simple_device *dev)
{
	printk(KERN_ALERT "simple_device probe.\n");
	return 0;
}
//	simple bus上的设备
struct simple_device device = 
{
	.name = "simpledev",
	.class_id = {.class_id = 0x10},
};

struct simple_class_id class_id[] = 
{
	{.class_id = 0x10},
	{.class_id = SIMPLE_CLASS_END}
};
//	simple bus上设备的驱动
struct simple_driver driver = {
	.name = "simpledrv",
	.classes = class_id,
	.probe = probe,
};


static int __init simple_init(void)
{
	int ret = 0;
	//向总线注册设备
    if ((ret = simple_register_device(&device)))
    {
    	printk(KERN_ALERT "simple_register_device failed.\n");
    	goto err_reg_dev;
    }
    //向总线注册驱动
    if ((ret = simple_register_driver(&driver)))
    {
    	printk(KERN_ALERT "simple_register_driver failed.\n");
    	goto err_reg_drv;
    }
	return ret;
err_reg_drv:
	simple_unregister_device(&device);
err_reg_dev:
	return ret;
}

static void __exit simple_exit(void)
{
	simple_unregister_driver(&driver);
	simple_unregister_device(&device);
}
module_init(simple_init);
module_exit(simple_exit);
MODULE_LICENSE("GPL");

目录
相关文章
|
7月前
|
存储 缓存 Unix
Linux 设备驱动程序(三)(上)
Linux 设备驱动程序(三)
71 3
|
7月前
|
Linux
Linux 设备驱动程序(四)
Linux 设备驱动程序(四)
51 1
|
7月前
|
存储 数据采集 缓存
Linux 设备驱动程序(三)(中)
Linux 设备驱动程序(三)
74 1
|
7月前
|
存储 前端开发 大数据
Linux 设备驱动程序(二)(中)
Linux 设备驱动程序(二)
53 1
|
6月前
|
Linux API
Linux里的高精度时间计时器(HPET)驱动 【ChatGPT】
Linux里的高精度时间计时器(HPET)驱动 【ChatGPT】
|
7月前
|
存储 缓存 安全
Linux 设备驱动程序(三)(下)
Linux 设备驱动程序(三)
62 0
|
7月前
|
安全 Linux 程序员
Linux 设备驱动程序(二)(下)
Linux 设备驱动程序(二)
58 0
|
22天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
56 23
Linux系统之whereis命令的基本使用
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
398 8
|
9天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
66 25