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