
本文共 4657 字,大约阅读时间需要 15 分钟。
������������������������������
���Linux������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������
���������������������������������������������������������C������������������������
struct bus_type
������������������������������������
- ���������������������������������
name
���������������������������������������������������bus_attrs
���������������������������������/sys/bus/xxx
������������������������������������������������dev_attrs
���������������������������������������������������drv_attrs
������������������������������������������������������match
������������������������������������������������������p
������������������������������������������������klist_devices
���klist_drivers
���������������������������������������
struct device
������������������������������
- ���������������������������
kobj
���������������������������������������������������������������name
������������������������/sys/devices
������bus
���������������������������������driver
���������������������������������������platform_data
������������������������������������������������������������������������������������������������������devt
������������������������������������������������������������
struct device_driver
������������������������������
- ���������������������������
name
���������������bus
���������������������������������probe
���������������������������������remove
���������������������������������p
���������������������������������
���������������������������������������������������
���������������������������������������������������������������PCI���������USB���������I2C���������SPI���������������������������������������������������������������struct device
������������������������������������������������������������������������
���������������������device_register(struct device *dev)
���������������������������
int device_register(struct device *dev) { device_initialize(dev); return device_add(dev);
device_initialize
���������������������������������������������������������������������������������������������device_add
���������������������������������������������������������������������������������������������������������������������klist_devices
���������������
���������������������driver_register(structdevice_driver *drv)
���������������������������
int driver_register(structdevice_driver *drv) { return bus_add_driver(drv);}
bus_add_driver
���������������������������������������klist_drivers
���������������
������������������������������������������������match
������������������������������������������������������������������������������������������������������������probe
���������������������������������������
���������������������
������struct bus_type
���struct device
���struct device_driver
������������������������������������������������������������������������������������������������������������
���������
- ������I2C���������������������
struct device
���������I2C��������������������� - ������SPI������������������
struct device
������������SPI��������������� - ������������������������PCI������������USB������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������probe
������
������������������������������������������������������������probe
���������������������������������������������������������������
���������������I2C������������������������������probe
���������������������������������������������������������������������������
int (*probe)(struct device *dev) { // 1. ������������������������������������������������������������������������������������������ // 2. ��������������������������������������������� // 3. ������������������������������ // 4. ������`device_set_drvdata(dev, pdata)`������������������������������������������������ return 0;}
������������������������������struct device_driver
���������probe
���������������������������������������������������������������������������������������������struct device_driver
���probe
������������������������
���������������������������������������������������������������������������������������������������������������������������Linux���������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
