| /linux-6.15/Documentation/translations/zh_CN/core-api/ |
| H A D | kobject.rst | 44 于同一个kset中的一个kobject。 121 联,在调用kobject_add()之前必须分配kobj->kset。如果kset与kobject相关联,则 286 一个kset有以下功能: 291 - kset也是sysfs中的一个子目录,与kset相关的kobjects可以在这里显示 301 kset在一个标准的内核链表中保存它的子对象。Kobjects通过其kset字段指向其 302 包含的kset。在几乎所有的情况下,属于一个kset的kobjects在它们的父 312 当你完成对kset的处理后,调用:: 317 为零时,该kset将被释放。因为对该kset的其他引用可能仍然存在, 320 一个使用kset的例子可以在内核树中的 ``samples/kobject/kset-example.c`` 348 如果属于一个kset的kobject没有父kobject集,它将被添加到kset的目 [all …]
|
| /linux-6.15/lib/ |
| H A D | kobject.c | 238 kobj->kset ? kobject_name(&kobj->kset->kobj) : "<NULL>"); in kobject_add_internal() 925 struct kset *kset = container_of(kobj, struct kset, kobj); in kset_release() local 928 kfree(kset); in kset_release() 962 struct kset *kset; in kset_create() local 965 kset = kzalloc(sizeof(*kset), GFP_KERNEL); in kset_create() 966 if (!kset) in kset_create() 982 kset->kobj.kset = NULL; in kset_create() 984 return kset; in kset_create() 1005 struct kset *kset; in kset_create_and_add() local 1009 if (!kset) in kset_create_and_add() [all …]
|
| H A D | kobject_uevent.c | 394 if (!ops && kobj->kset) { in kobject_uevent_net_broadcast() 395 struct kobject *ksobj = &kobj->kset->kobj; in kobject_uevent_net_broadcast() 481 struct kset *kset; in kobject_uevent_env() local 498 while (!top_kobj->kset && top_kobj->parent) in kobject_uevent_env() 501 if (!top_kobj->kset) { in kobject_uevent_env() 508 kset = top_kobj->kset; in kobject_uevent_env() 509 uevent_ops = kset->uevent_ops; in kobject_uevent_env() 531 subsystem = kobject_name(&kset->kobj); in kobject_uevent_env()
|
| /linux-6.15/include/linux/ |
| H A D | kobject.h | 68 struct kset *kset; member 168 struct kset { struct 175 void kset_init(struct kset *kset); argument 176 int __must_check kset_register(struct kset *kset); 177 void kset_unregister(struct kset *kset); 178 struct kset * __must_check kset_create_and_add(const char *name, const struct kset_uevent_ops *u, 181 static inline struct kset *to_kset(struct kobject *kobj) in to_kset() 183 return kobj ? container_of(kobj, struct kset, kobj) : NULL; in to_kset() 186 static inline struct kset *kset_get(struct kset *k) in kset_get() 191 static inline void kset_put(struct kset *k) in kset_put() [all …]
|
| H A D | iscsi_boot_sysfs.h | 105 struct kset *kset; member
|
| /linux-6.15/Documentation/core-api/ |
| H A D | kobject.rst | 132 kobj->kset must be assigned before calling kobject_add(). If a kset is 135 kset itself. 329 A kset serves these functions: 335 with the kset can show up. Every kset contains a kobject which can be 347 back to their containing kset via their kset field. In almost all cases, 348 the kobjects belonging to a kset have that kset (or, strictly, its embedded 353 kset use:: 359 When you are finished with the kset, call:: 361 void kset_unregister(struct kset *k); 395 kobject_add(), its kset member should point to the kset to which the [all …]
|
| /linux-6.15/drivers/base/ |
| H A D | base.h | 43 struct kset subsys; 44 struct kset *devices_kset; 48 struct kset *drivers_kset; 56 struct kset glue_dirs; 209 extern struct kset *devices_kset;
|
| H A D | bus.c | 26 static struct kset *system_kset; 29 static struct kset *bus_kset; 74 struct kset *kset = container_of(kobj, struct kset, kobj); in bus_to_subsys() local 76 sp = container_of_const(kset, struct subsys_private, subsys); in bus_to_subsys() 670 priv->kobj.kset = sp->drivers_kset; in bus_add_driver() 876 bus_kobj->kset = bus_kset; in bus_register() 1005 struct kset *bus_get_kset(const struct bus_type *bus) in bus_get_kset() 1008 struct kset *kset; in bus_get_kset() local 1013 kset = &sp->subsys; in bus_get_kset() 1016 return kset; in bus_get_kset()
|
| H A D | class.c | 24 static struct kset *class_kset; 56 struct kset *kset = container_of(kobj, struct kset, kobj); in class_to_subsys() local 58 sp = container_of_const(kset, struct subsys_private, subsys); in class_to_subsys() 210 cp->subsys.kobj.kset = class_kset; in class_register()
|
| /linux-6.15/fs/nfs/ |
| H A D | sysfs.c | 22 static struct kset *nfs_kset; 26 struct kset *kset = container_of(kobj, struct kset, kobj); in nfs_kset_release() local 27 kfree(kset); in nfs_kset_release() 58 nfs_kset->kobj.kset = NULL; in nfs_sysfs_init() 178 p->kobject.kset = nfs_kset; in nfs_netns_client_alloc() 179 p->nfs_net_kobj.kset = nfs_kset; in nfs_netns_client_alloc()
|
| /linux-6.15/arch/s390/kernel/ |
| H A D | uv.c | 729 static struct kset *uv_query_kset; 730 static struct kset *uv_keys_kset; 734 struct kset **uv_dir_kset, const char *name) in uv_sysfs_dir_init() 736 struct kset *kset; in uv_sysfs_dir_init() local 739 kset = kset_create_and_add(name, NULL, uv_kobj); in uv_sysfs_dir_init() 740 if (!kset) in uv_sysfs_dir_init() 742 *uv_dir_kset = kset; in uv_sysfs_dir_init() 744 rc = sysfs_create_group(&kset->kobj, grp); in uv_sysfs_dir_init() 746 kset_unregister(kset); in uv_sysfs_dir_init()
|
| /linux-6.15/drivers/firmware/ |
| H A 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.15/drivers/platform/x86/hp/hp-bioscfg/ |
| H A D | bioscfg.c | 533 static void destroy_attribute_objs(struct kset *kset) in destroy_attribute_objs() argument 537 list_for_each_entry_safe(pos, next, &kset->list, entry) in destroy_attribute_objs() 598 attr_name_kobj->kset = bioscfg_drv.authentication_dir_kset; in hp_add_other_attributes() 603 attr_name_kobj->kset = bioscfg_drv.main_dir_kset; in hp_add_other_attributes() 655 struct kset *temp_kset; in hp_init_bios_package_attribute() 713 attr_name_kobj->kset = temp_kset; in hp_init_bios_package_attribute() 766 struct kset *temp_kset; in hp_init_bios_buffer_attribute() 806 attr_name_kobj->kset = temp_kset; in hp_init_bios_buffer_attribute()
|
| /linux-6.15/drivers/dma-buf/ |
| H A 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.15/fs/ocfs2/cluster/ |
| H A 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.15/drivers/platform/x86/ |
| H A D | think-lmi.h | 115 struct kset *attribute_kset; 116 struct kset *authentication_kset;
|
| /linux-6.15/drivers/platform/x86/dell/dell-wmi-sysman/ |
| H A D | sysman.c | 348 static void destroy_attribute_objs(struct kset *kset) in destroy_attribute_objs() argument 352 list_for_each_entry_safe(pos, next, &kset->list, entry) { in destroy_attribute_objs() 396 struct kset *tmp_set; in init_bios_attributes() 469 attr_name_kobj->kset = tmp_set; in init_bios_attributes()
|
| /linux-6.15/net/sunrpc/ |
| H A 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() 669 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_client_alloc() 689 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_switch_alloc() 709 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_alloc()
|
| /linux-6.15/drivers/pci/ |
| H A D | slot.c | 14 struct kset *pci_slots_kset; 268 slot->kobj.kset = pci_slots_kset; in pci_create_slot() 329 struct kset *pci_bus_kset; in pci_slot_init()
|
| /linux-6.15/fs/erofs/ |
| H A D | sysfs.c | 211 static struct kset erofs_root = { 221 .kset = &erofs_root, 229 sbi->s_kobj.kset = &erofs_root; in erofs_register_sysfs()
|
| /linux-6.15/drivers/scsi/ |
| H A 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.15/fs/ubifs/ |
| H A D | sysfs.c | 87 static struct kset ubifs_kset = { 110 c->kobj.kset = &ubifs_kset; in ubifs_sysfs_register()
|
| /linux-6.15/samples/kobject/ |
| H A D | Makefile | 2 obj-$(CONFIG_SAMPLE_KOBJECT) += kobject-example.o kset-example.o
|
| /linux-6.15/drivers/staging/greybus/ |
| H A D | audio_manager_private.h | 16 struct kset *manager_kset, int id,
|
| /linux-6.15/arch/x86/platform/efi/ |
| H A D | runtime-map.c | 102 static struct kset *map_kset; 127 entry->kobj.kset = map_kset; in add_sysfs_runtime_map_entry()
|