字符设备注册以何种方式与其他设备注册不同?
这是一个平台驱动程序注册设备,带调节器内核,后者带有驱动核心: /drivers/regulator/tps65086-regulator.c--->/drivers/regulator/core.c--->驱动程序/碱/ core.c
呼叫流程: tps65086_regulator_probe - > regulator_register ---> device_register ---> device_add ---> kobject_add
其中以下是将设备注册为字符设备的驱动程序
/drivers/scsi/3w-xxxx.c - > fs / char_dev.c ---> /drivers/base/map.c
呼叫流程:
tw_probe - > register_chrdev - > cdev_add - > kobj_map
为什么不最终转到驱动核心并调用device_add ??
答案 0 :(得分:0)
平台驱动程序和设备驱动程序之间的区别在于,平台设备直接连接到CPU,而设备驱动程序则处理连接到系统总线的设备。因此那里的注册机制也不同。
例如,平台设备将向平台总线注册,该平台总线是伪总线。实际的设备将在该设备所连接的相应总线上进行注册。