linux device 原理,device(设备)原理与实例分析

本文深入探讨Linux系统中的设备管理,包括struct device结构详解、设备的注册与注销过程,以及设备属性的创建与删除。通过Bus.c和Device.c源码实例,阐述设备与驱动匹配、总线注册、设备属性文件的创建等核心概念。
摘要由CSDN通过智能技术生成

1、 设备描述

Linux 系统中的每个设备由一个 struct device 描述:

struct device {

...... ...... ...... ...... ...... ......

struct kobject kobj;

char bus_id[BUS_ID_SIZE]; /*在总线上唯一标识该设备的字符串 */

struct bus_type /* 设备所在总线 */

*bus;

struct device_driver *driver; /*管理该设备的驱动*/

void *driver_data;

/*该设备驱动使用的私有数据成员 *

struct klist_node knode_class;

struct class *class;

struct attribute_group

**groups;

void (*release)(struct device *dev);

}

2、 设备注册

1)int device_register(struct device *dev)

注册设备

2)void device_unregister(struct device *dev)

注销设备

**一条总线也是个设备,也必须按设备注册**

3、 设备属性

设备属性由struct device_attribute 描述:

struct device_attribute

{

struct attribute attr;

ssize_t (*show)(struct device *dev, struct device_attribute

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值