kobject即kernel object,内核对象。

kobject在内核中是一个结构体

在/sys目录下全是kobject

struct kobject {
	const char		*name;
	struct list_head	entry;
	struct kobject		*parent;
	struct kset		*kset;
	struct kobj_type	*ktype;
	struct kernfs_node	*sd; /* sysfs directory entry */
	struct kref		kref;
#ifdef CONFIG_DEBUG_KOBJECT_RELEASE
	struct delayed_work	release;
#endif
	unsigned int state_initialized:1;
	unsigned int state_in_sysfs:1;
	unsigned int state_add_uevent_sent:1;
	unsigned int state_remove_uevent_sent:1;
	unsigned int uevent_suppress:1;
};

设备,驱动,总线,类

  • 设备:struct device
  • 驱动:struct device_driver
  • 类:struct class ,会在/sys/class/xxx_class
  • 总线:struct bus