/linux-6.1.9/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 283 一个kset仅仅是一个希望相互关联的kobjects的集合。没有限制它们必须是相 286 一个kset有以下功能: 288 - 它像是一个包含一组对象的袋子。一个kset可以被内核用来追踪“所有块 [all …]
|
/linux-6.1.9/lib/ |
D | kobject.c | 159 if (!kobj->kset) in kobj_kset_join() 162 kset_get(kobj->kset); in kobj_kset_join() 163 spin_lock(&kobj->kset->list_lock); in kobj_kset_join() 164 list_add_tail(&kobj->entry, &kobj->kset->list); in kobj_kset_join() 165 spin_unlock(&kobj->kset->list_lock); in kobj_kset_join() 171 if (!kobj->kset) in kobj_kset_leave() 174 spin_lock(&kobj->kset->list_lock); in kobj_kset_leave() 176 spin_unlock(&kobj->kset->list_lock); in kobj_kset_leave() 177 kset_put(kobj->kset); in kobj_kset_leave() 211 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() 515 subsystem = kobject_name(&kset->kobj); in kobject_uevent_env()
|
/linux-6.1.9/include/linux/ |
D | kobject.h | 68 struct kset *kset; member 172 struct kset { struct 179 extern void kset_init(struct kset *kset); argument 180 extern int __must_check kset_register(struct kset *kset); 181 extern void kset_unregister(struct kset *kset); 182 extern struct kset * __must_check kset_create_and_add(const char *name, 186 static inline struct kset *to_kset(struct kobject *kobj) in to_kset() 188 return kobj ? container_of(kobj, struct kset, kobj) : NULL; in to_kset() 191 static inline struct kset *kset_get(struct kset *k) in kset_get() 196 static inline void kset_put(struct kset *k) in kset_put() [all …]
|
D | iscsi_boot_sysfs.h | 105 struct kset *kset; member
|
/linux-6.1.9/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. 325 A kset is merely a collection of kobjects that want to be associated with 329 A kset serves these functions: 331 - It serves as a bag containing a group of objects. A kset can be used by [all …]
|
/linux-6.1.9/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() 162 p->kobject.kset = nfs_client_kset; in nfs_netns_client_alloc()
|
/linux-6.1.9/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;
|
/linux-6.1.9/drivers/firmware/ |
D | qemu_fw_cfg.c | 492 static int fw_cfg_build_symlink(struct kset *dir, in fw_cfg_build_symlink() 496 struct kset *subdir; in fw_cfg_build_symlink() 533 subdir = kzalloc(sizeof(struct kset), GFP_KERNEL); in fw_cfg_build_symlink() 538 subdir->kobj.kset = dir; in fw_cfg_build_symlink() 562 static void fw_cfg_kset_unregister_recursive(struct kset *kset) in fw_cfg_kset_unregister_recursive() argument 566 list_for_each_entry_safe(k, next, &kset->list, entry) in fw_cfg_kset_unregister_recursive() 568 if (k->ktype == kset->kobj.ktype) in fw_cfg_kset_unregister_recursive() 572 kset_unregister(kset); in fw_cfg_kset_unregister_recursive() 578 static struct kset *fw_cfg_fname_kset;
|
/linux-6.1.9/drivers/dma-buf/ |
D | dma-buf-sysfs-stats.c | 144 static struct kset *dma_buf_stats_kset; 145 static struct kset *dma_buf_per_buffer_stats_kset; 185 sysfs_entry->kobj.kset = dma_buf_per_buffer_stats_kset; in dma_buf_stats_setup()
|
/linux-6.1.9/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-6.1.9/drivers/platform/x86/ |
D | think-lmi.h | 92 struct kset *attribute_kset; 93 struct kset *authentication_kset;
|
/linux-6.1.9/fs/ocfs2/cluster/ |
D | masklog.c | 152 static struct kset mlog_kset = { 156 int mlog_sys_init(struct kset *o2cb_kset) in mlog_sys_init() 167 mlog_kset.kobj.kset = o2cb_kset; in mlog_sys_init()
|
/linux-6.1.9/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-6.1.9/fs/erofs/ |
D | sysfs.c | 192 static struct kset erofs_root = { 202 .kset = &erofs_root, 225 sbi->s_kobj.kset = &erofs_root; in erofs_register_sysfs()
|
/linux-6.1.9/fs/ubifs/ |
D | sysfs.c | 87 static struct kset ubifs_kset = { 110 c->kobj.kset = &ubifs_kset; in ubifs_sysfs_register()
|
/linux-6.1.9/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-6.1.9/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-6.1.9/drivers/staging/greybus/ |
D | audio_manager_private.h | 17 struct kset *manager_kset,
|
/linux-6.1.9/drivers/pci/ |
D | slot.c | 15 struct kset *pci_slots_kset; 267 slot->kobj.kset = pci_slots_kset; in pci_create_slot() 369 struct kset *pci_bus_kset; in pci_slot_init()
|
/linux-6.1.9/drivers/net/phy/ |
D | phylink.c | 2098 struct ethtool_link_ksettings *kset) in phylink_get_ksettings() argument 2100 phylink_merge_link_mode(kset->link_modes.advertising, state->advertising); in phylink_get_ksettings() 2101 linkmode_copy(kset->link_modes.lp_advertising, state->lp_advertising); in phylink_get_ksettings() 2102 if (kset->base.rate_matching == RATE_MATCH_NONE) { in phylink_get_ksettings() 2103 kset->base.speed = state->speed; in phylink_get_ksettings() 2104 kset->base.duplex = state->duplex; in phylink_get_ksettings() 2106 kset->base.autoneg = state->an_enabled ? AUTONEG_ENABLE : in phylink_get_ksettings() 2120 struct ethtool_link_ksettings *kset) in phylink_ethtool_ksettings_get() argument 2127 phy_ethtool_ksettings_get(pl->phydev, kset); in phylink_ethtool_ksettings_get() 2129 kset->base.port = pl->link_port; in phylink_ethtool_ksettings_get() [all …]
|
/linux-6.1.9/drivers/firmware/efi/ |
D | runtime-map.c | 102 static struct kset *map_kset; 127 entry->kobj.kset = map_kset; in add_sysfs_runtime_map_entry()
|
/linux-6.1.9/scripts/gdb/linux/ |
D | device.py | 30 def kset_for_each_object(kset): argument 31 return list_for_each_entry(kset['list'],
|