the pointer to be destroyed must have been created with a call * to class_create(). */ void class_destroy(struct class *cls) { if ((cls == NULL) || (IS_ERR(cls))) return; class_unregister(cls); } 1. (1)参数struct
/*** class_destroy - destroys a struct class structure* @cls: pointer to the struct class that is to be destroyed** Note, the pointer to be destroyed must have been created with a call* to class_create().*/voidclass_destroy(structclass*cls){if ((cls==NULL) || (IS_ERR(cls)))re...
struct kset class_dirs; struct mutex class_mutex; structclass *class; }; #define to_class(obj) \ container_of(obj,struct class_private, class_subsys.kobj) struct class_private,是class连接到系统中的重要结构 私有数据。 class_subsys是kset类型,代表class在sysfs中的位置。 class_devices是klist类型,...
class对应的代码在drivers/base/class.c中,对应的头文件在include/linux/device.h和drivers/base/base.h中。还是先来看class 2、涉及的结构。cpp view plaincopy1. struct class 2. const char *name; 3. struct module *owner; 4. 5. & 3、#160; struct class_attribute *class_attrs; 6. struct device...
__class_register kset_register kobject_uevent class是创建了一个类即结构体struct class,对应的是在sysfs目录下面创建了一个关于这个类的文件夹 owner:THIS_MODULE name : leds然后是用device_create在创建相应的设备文件; #define class_create(owner, name) ({ static struct lock_class_key __key; __class...
uint32_tread_count =0;staticstructtask_struct*wait_thread; dev_tdev =0;staticstructclass*dev_class;staticstructcdevmy_cdev;wait_queue_head_tmy_waitqueue;intwaitqueue_flag =0; staticintwait_function(void*unused){ while(1){pr_info("Waiting For Event...\n");wait_event_interruptible(my_wait...
/* 设备结构体 */struct timer_dev{dev_t devid;//设备号int major;//主设备号int minor;//次设备号struct cdev cdev;//字符设备structclass*class;//类struct device*device;//设备struct spinlock lock;//自旋锁int gpioled;//led gpio编号struct device_node*led_nd;//led节点struct timer_list timer...
staticstructclass*dev_class;staticstructcdevmy_cdev;uint8_t*data_buf;staticintmy_open(struct...
static struct led_operations board_demo_led_opr = { .num = 1, .init = board_demo_led_init, .ctl = board_demo_led_ctl, };led_operations 结构体中有init函数指针, 它指向board_demo_led_init 函数,在里面将会初始化 LED 引脚:使能、设置为 GPIO 模式、设置为输出引脚。 第35~38 行,对于...