int (*post_bind)(struct udevice *dev);
int (*pre_unbind)(struct udevice *dev);
int (*pre_probe)(struct udevice *dev);
int (*post_probe)(struct udevice *dev);
int (*pre_remove)(struct udevice *dev);
int (*child_post_bind)(struct udevice *dev);
int (*child_pre_probe)(struct udevice *dev);
int (*child_post_probe)(struct udevice *dev);
int (*init)(struct uclass *class);
int (*destroy)(struct uclass *class);
int priv_auto_alloc_size;
int per_device_auto_alloc_size;
int per_device_platdata_auto_alloc_size;
int per_child_auto_alloc_size;
int per_child_platdata_auto_alloc_size;
- uclass_driver为一组相关的驱动提供了一致的接口。
- name: ucclass驱动的名称
- id:该类的id号
- post_bind:在一个新设备绑定到这个类之后调用
- pre_unbind:在设备从这个类解绑定之前调用
- pre_probe:在探测新设备之前调用
- post_probe:在探测新设备后调用
- pre_remove:在移除设备之前调用
- child_post_bind:在子类绑定到设备后调用
- child_pre_probe:在探测类中的子节点之前调用
- child_post_probe:在探测类中的子节点后调用
- init:用来设置ucclass
- destroy:用于销毁类
- priv_auto_alloc_size:如果非零,这是要在ucclass的->priv指针中分配的私有数据的大小。如果为零,则为ucclass驱动程序负责分配所需的任何数据。
- per_device_auto_alloc_size:每个设备可以保存ucclass拥有的私有数据。如果需要,如果该值非零,将自动分配此值。
- per_device_platdata_auto_alloc_size:每个设备可以保存ucclass拥有的平台数据为'dev->uclass_platdata'。如果该值不为零,则会自动分配该值。
- per_child_auto_alloc_size:每个子设备(在这个ucclass中的父设备)可以保存设备/ ucclass的父数据。此值仅在该成员在驱动程序中为0时用作回退。
- per_child_platdata_auto_alloc_size:总线喜欢存储其子节点的信息。如果非零,这就是要分配的数据的大小
- 在子设备的parent_platdata指针中。此值仅在该成员在驱动程序中为0时用作回退。
- ops: Uclass操作,为ucclass内的设备提供一致的接口。
- flags:这个ucclass的标志(DM_UC_…)