/Linux-v5.15/Documentation/translations/zh_CN/core-api/ |
D | kobject.rst | 39 - 一个kset是一组kobjects。这些kobjects可以是相同的ktype或者属于不同的 40 ktype。kset是kobjects集合的基本容器类型。Ksets包含它们自己的kobjects, 41 但你可以安全地忽略这个实现细节,因为kset的核心代码会自动处理这个kobject。 44 于同一个kset中的一个kobject。 120 这将正确设置kobject的父级和kobject的名称。如果该kobject要与一个特定的kset相关 121 联,在调用kobject_add()之前必须分配kobj->kset。如果kset与kobject相关联,则 122 kobject的父级可以在调用kobject_add()时被设置为NULL,则kobject的父级将是kset 284 一个kset仅仅是一个希望相互关联的kobjects的集合。没有限制它们必须是相 287 一个kset有以下功能: 289 - 它像是一个包含一组对象的袋子。一个kset可以被内核用来追踪“所有块 [all …]
|
/Linux-v5.15/include/linux/ |
D | kobject.h | 68 struct kset *kset; member 157 int (* const filter)(struct kset *kset, struct kobject *kobj); 158 const char *(* const name)(struct kset *kset, struct kobject *kobj); 159 int (* const uevent)(struct kset *kset, struct kobject *kobj, 192 struct kset { struct 199 extern void kset_init(struct kset *kset); argument 200 extern int __must_check kset_register(struct kset *kset); 201 extern void kset_unregister(struct kset *kset); 202 extern struct kset * __must_check kset_create_and_add(const char *name, 206 static inline struct kset *to_kset(struct kobject *kobj) in to_kset() [all …]
|
D | iscsi_boot_sysfs.h | 105 struct kset *kset; member
|
/Linux-v5.15/lib/ |
D | kobject.c | 191 if (!kobj->kset) in kobj_kset_join() 194 kset_get(kobj->kset); in kobj_kset_join() 195 spin_lock(&kobj->kset->list_lock); in kobj_kset_join() 196 list_add_tail(&kobj->entry, &kobj->kset->list); in kobj_kset_join() 197 spin_unlock(&kobj->kset->list_lock); in kobj_kset_join() 203 if (!kobj->kset) in kobj_kset_leave() 206 spin_lock(&kobj->kset->list_lock); in kobj_kset_leave() 208 spin_unlock(&kobj->kset->list_lock); in kobj_kset_leave() 209 kset_put(kobj->kset); in kobj_kset_leave() 243 if (kobj->kset) { in kobject_add_internal() [all …]
|
D | kobject_uevent.c | 393 if (!ops && kobj->kset) { in kobject_uevent_net_broadcast() 394 struct kobject *ksobj = &kobj->kset->kobj; in kobject_uevent_net_broadcast() 465 struct kset *kset; in kobject_uevent_env() local 482 while (!top_kobj->kset && top_kobj->parent) in kobject_uevent_env() 485 if (!top_kobj->kset) { in kobject_uevent_env() 492 kset = top_kobj->kset; in kobject_uevent_env() 493 uevent_ops = kset->uevent_ops; in kobject_uevent_env() 504 if (!uevent_ops->filter(kset, kobj)) { in kobject_uevent_env() 513 subsystem = uevent_ops->name(kset, kobj); in kobject_uevent_env() 515 subsystem = kobject_name(&kset->kobj); in kobject_uevent_env() [all …]
|
/Linux-v5.15/Documentation/core-api/ |
D | kobject.rst | 36 - A kset is a group of kobjects. These kobjects can be of the same ktype 37 or belong to different ktypes. The kset is the basic container type for 39 safely ignore that implementation detail as the kset core code handles 43 of those directories corresponds to a kobject in the same kset. 131 properly. If the kobject is to be associated with a specific kset, 132 kobj->kset must be assigned before calling kobject_add(). If a kset is 135 kset itself. 326 A kset is merely a collection of kobjects that want to be associated with 330 A kset serves these functions: 332 - It serves as a bag containing a group of objects. A kset can be used by [all …]
|
/Linux-v5.15/fs/nfs/ |
D | sysfs.c | 21 static struct kset *nfs_client_kset; 41 struct kset *kset, struct kobject *parent) in nfs_netns_object_alloc() argument 47 kobj->kset = kset; in nfs_netns_object_alloc() 161 p->kobject.kset = nfs_client_kset; in nfs_netns_client_alloc()
|
/Linux-v5.15/drivers/dma-buf/ |
D | dma-buf-sysfs-stats.c | 135 static int dmabuf_sysfs_uevent_filter(struct kset *kset, struct kobject *kobj) in dmabuf_sysfs_uevent_filter() argument 144 static struct kset *dma_buf_stats_kset; 145 static struct kset *dma_buf_per_buffer_stats_kset; 188 sysfs_entry->kobj.kset = dma_buf_per_buffer_stats_kset; in dma_buf_stats_setup()
|
/Linux-v5.15/drivers/base/ |
D | base.h | 41 struct kset subsys; 42 struct kset *devices_kset; 46 struct kset *drivers_kset; 53 struct kset glue_dirs; 164 extern struct kset *devices_kset;
|
D | core.c | 2266 static int dev_uevent_filter(struct kset *kset, struct kobject *kobj) in dev_uevent_filter() argument 2280 static const char *dev_uevent_name(struct kset *kset, struct kobject *kobj) in dev_uevent_name() argument 2291 static int dev_uevent(struct kset *kset, struct kobject *kobj, in dev_uevent() argument 2368 struct kset *kset; in uevent_show() local 2376 while (!top_kobj->kset && top_kobj->parent) in uevent_show() 2378 if (!top_kobj->kset) in uevent_show() 2381 kset = top_kobj->kset; in uevent_show() 2382 if (!kset->uevent_ops || !kset->uevent_ops->uevent) in uevent_show() 2386 if (kset->uevent_ops && kset->uevent_ops->filter) in uevent_show() 2387 if (!kset->uevent_ops->filter(kset, &dev->kobj)) in uevent_show() [all …]
|
D | bus.c | 25 static struct kset *system_kset; 166 static int bus_uevent_filter(struct kset *kset, struct kobject *kobj) in bus_uevent_filter() argument 179 static struct kset *bus_kset; 610 priv->kobj.kset = bus->p->drivers_kset; in bus_add_driver() 800 priv->subsys.kobj.kset = bus_kset; in bus_register() 892 struct kset *bus_get_kset(struct bus_type *bus) in bus_get_kset()
|
/Linux-v5.15/drivers/firmware/ |
D | qemu_fw_cfg.c | 493 static int fw_cfg_build_symlink(struct kset *dir, in fw_cfg_build_symlink() 497 struct kset *subdir; in fw_cfg_build_symlink() 534 subdir = kzalloc(sizeof(struct kset), GFP_KERNEL); in fw_cfg_build_symlink() 539 subdir->kobj.kset = dir; in fw_cfg_build_symlink() 563 static void fw_cfg_kset_unregister_recursive(struct kset *kset) in fw_cfg_kset_unregister_recursive() argument 567 list_for_each_entry_safe(k, next, &kset->list, entry) in fw_cfg_kset_unregister_recursive() 569 if (k->ktype == kset->kobj.ktype) in fw_cfg_kset_unregister_recursive() 573 kset_unregister(kset); in fw_cfg_kset_unregister_recursive() 579 static struct kset *fw_cfg_fname_kset;
|
/Linux-v5.15/drivers/platform/x86/ |
D | think-lmi.h | 68 struct kset *attribute_kset; 69 struct kset *authentication_kset;
|
/Linux-v5.15/net/sunrpc/ |
D | sysfs.c | 25 static struct kset *rpc_sunrpc_kset; 46 struct kset *kset, in rpc_sysfs_object_alloc() argument 53 kobj->kset = kset; in rpc_sysfs_object_alloc() 466 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_client_alloc() 486 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_switch_alloc() 506 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_alloc()
|
/Linux-v5.15/fs/ocfs2/cluster/ |
D | masklog.c | 151 static struct kset mlog_kset = { 155 int mlog_sys_init(struct kset *o2cb_kset) in mlog_sys_init() 166 mlog_kset.kobj.kset = o2cb_kset; in mlog_sys_init()
|
/Linux-v5.15/drivers/platform/x86/dell/dell-wmi-sysman/ |
D | sysman.c | 352 static void destroy_attribute_objs(struct kset *kset) in destroy_attribute_objs() argument 356 list_for_each_entry_safe(pos, next, &kset->list, entry) { in destroy_attribute_objs() 399 struct kset *tmp_set; in init_bios_attributes() 470 attr_name_kobj->kset = tmp_set; in init_bios_attributes()
|
D | dell-wmi-sysman.h | 72 struct kset *authentication_dir_kset; 73 struct kset *main_dir_kset;
|
/Linux-v5.15/drivers/net/phy/ |
D | phylink.c | 1443 struct ethtool_link_ksettings *kset) in phylink_get_ksettings() argument 1445 phylink_merge_link_mode(kset->link_modes.advertising, state->advertising); in phylink_get_ksettings() 1446 linkmode_copy(kset->link_modes.lp_advertising, state->lp_advertising); in phylink_get_ksettings() 1447 kset->base.speed = state->speed; in phylink_get_ksettings() 1448 kset->base.duplex = state->duplex; in phylink_get_ksettings() 1449 kset->base.autoneg = state->an_enabled ? AUTONEG_ENABLE : in phylink_get_ksettings() 1463 struct ethtool_link_ksettings *kset) in phylink_ethtool_ksettings_get() argument 1470 phy_ethtool_ksettings_get(pl->phydev, kset); in phylink_ethtool_ksettings_get() 1472 kset->base.port = pl->link_port; in phylink_ethtool_ksettings_get() 1474 linkmode_copy(kset->link_modes.supported, pl->supported); in phylink_ethtool_ksettings_get() [all …]
|
/Linux-v5.15/drivers/scsi/ |
D | iscsi_boot_sysfs.c | 352 boot_kobj->kobj.kset = boot_kset->kset; in iscsi_boot_create_kobj() 504 boot_kset->kset = kset_create_and_add(set_name, NULL, firmware_kobj); in iscsi_boot_create_kset() 505 if (!boot_kset->kset) { in iscsi_boot_create_kset() 551 kset_unregister(boot_kset->kset); in iscsi_boot_destroy_kset()
|
/Linux-v5.15/samples/kobject/ |
D | Makefile | 2 obj-$(CONFIG_SAMPLE_KOBJECT) += kobject-example.o kset-example.o
|
D | kset-example.c | 194 static struct kset *example_kset; 213 foo->kobj.kset = example_kset; in create_foo_obj()
|
/Linux-v5.15/drivers/staging/greybus/ |
D | audio_manager_private.h | 17 struct kset *manager_kset,
|
/Linux-v5.15/drivers/pci/ |
D | slot.c | 15 struct kset *pci_slots_kset; 266 slot->kobj.kset = pci_slots_kset; in pci_create_slot() 368 struct kset *pci_bus_kset; in pci_slot_init()
|
/Linux-v5.15/drivers/firmware/efi/ |
D | runtime-map.c | 101 static struct kset *map_kset; 126 entry->kobj.kset = map_kset; in add_sysfs_runtime_map_entry()
|
/Linux-v5.15/scripts/gdb/linux/ |
D | device.py | 30 def kset_for_each_object(kset): argument 31 return list_for_each_entry(kset['list'],
|