/linux/Documentation/translations/zh_CN/core-api/ |
H A 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/lib/ |
H A D | kobject.c | 173 /* add the kobject to its kset's list */ 176 if (!kobj->kset) in kobj_kset_join() 179 kset_get(kobj->kset); in kobj_kset_join() 180 spin_lock(&kobj->kset->list_lock); in kobj_kset_join() 181 list_add_tail(&kobj->entry, &kobj->kset->list); in kobj_kset_join() 182 spin_unlock(&kobj->kset->list_lock); in kobj_kset_join() 185 /* remove the kobject from its kset's list */ 188 if (!kobj->kset) in kobj_kset_leave() 191 spin_lock(&kobj->kset->list_lock); in kobj_kset_leave() 193 spin_unlock(&kobj->kset in kobj_kset_leave() 904 kset_find_obj(struct kset * kset,const char * name) kset_find_obj() argument 925 struct kset *kset = container_of(kobj, struct kset, kobj); kset_release() local 962 struct kset *kset; kset_create() local 1005 struct kset *kset; kset_create_and_add() local [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/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
|
H A D | mdev.h | 43 struct kset *mdev_types_kset;
|
/linux/Documentation/core-api/ |
H A 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/fs/nfs/ |
H A D | sysfs.c | 21 static struct kset *nfs_kset; 25 struct kset *kset = container_of(kobj, struct kset, kobj); in nfs_kset_release() local 26 kfree(kset); in nfs_kset_release() 57 nfs_kset->kobj.kset = NULL; in nfs_sysfs_init() 177 p->kobject.kset = nfs_kset; in nfs_netns_client_alloc() 178 p->nfs_net_kobj.kset = nfs_kset; in nfs_netns_client_alloc()
|
/linux/arch/s390/kernel/ |
H A D | uv.c | 607 static struct kset *uv_query_kset; 608 static struct kset *uv_keys_kset; 612 struct kset **uv_dir_kset, const char *name) in uv_sysfs_dir_init() 614 struct kset *kset; in uv_sysfs_dir_init() local 617 kset = kset_create_and_add(name, NULL, uv_kobj); in uv_sysfs_dir_init() 618 if (!kset) in uv_sysfs_dir_init() 620 *uv_dir_kset = kset; in uv_sysfs_dir_init() 622 rc = sysfs_create_group(&kset->kobj, grp); in uv_sysfs_dir_init() 624 kset_unregister(kset); in uv_sysfs_dir_init()
|
/linux/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/drivers/base/ |
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() local 1008 struct kset *kse in bus_get_kset() [all...] |
/linux/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() 467 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_client_alloc() 487 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_switch_alloc() 507 p->kobject.kset = rpc_sunrpc_kset; in rpc_sysfs_xprt_alloc()
|
/linux/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()
|
H A D | sys.c | 38 static struct kset *o2cb_kset;
|
/linux/fs/erofs/ |
H A D | sysfs.c | 209 static struct kset erofs_root = { 219 .kset = &erofs_root, 227 sbi->s_kobj.kset = &erofs_root; in erofs_register_sysfs()
|
/linux/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/fs/ubifs/ |
H A D | sysfs.c | 87 static struct kset ubifs_kset = { 110 c->kobj.kset = &ubifs_kset; in ubifs_sysfs_register()
|
/linux/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()
|
/linux/samples/kobject/ |
H A D | Makefile | 2 obj-$(CONFIG_SAMPLE_KOBJECT) += kobject-example.o kset-example.o
|
H A D | kset-example.c | 194 static struct kset *example_kset; 213 foo->kobj.kset = example_kset; in create_foo_obj()
|
/linux/drivers/staging/greybus/ |
H A D | audio_manager_private.h | 16 struct kset *manager_kset, int id,
|
/linux/scripts/gdb/linux/ |
H A D | device.py | 30 def kset_for_each_object(kset): argument 31 return list_for_each_entry(kset['list'],
|
/linux/drivers/platform/x86/dell/dell-wmi-sysman/ |
H A D | dell-wmi-sysman.h | 72 struct kset *authentication_dir_kset; 73 struct kset *main_dir_kset;
|
/linux/drivers/net/phy/ |
H A D | phylink.c | 2761 struct ethtool_link_ksettings *kset) in phylink_get_ksettings() argument 2763 phylink_merge_link_mode(kset->link_modes.advertising, state->advertising); in phylink_get_ksettings() 2764 linkmode_copy(kset->link_modes.lp_advertising, state->lp_advertising); in phylink_get_ksettings() 2765 if (kset->base.rate_matching == RATE_MATCH_NONE) { in phylink_get_ksettings() 2766 kset->base.speed = state->speed; in phylink_get_ksettings() 2767 kset->base.duplex = state->duplex; in phylink_get_ksettings() 2769 kset->base.autoneg = linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, in phylink_get_ksettings() 2784 struct ethtool_link_ksettings *kset) in phylink_ethtool_ksettings_get() argument 2791 phy_ethtool_ksettings_get(pl->phydev, kset); in phylink_ethtool_ksettings_get() 2793 kset->base.port = pl->link_port; in phylink_ethtool_ksettings_get() [all …]
|
/linux/drivers/net/ethernet/microchip/vcap/ |
H A D | vcap_api.c | 411 const struct vcap_set *kset; in vcap_keyfieldset() local 416 kset = &vctrl->vcaps[vt].keyfield_set[keyset]; in vcap_keyfieldset() 417 if (kset->sw_per_item == 0 || kset->sw_per_item > vctrl->vcaps[vt].sw_count) in vcap_keyfieldset() 419 return kset; in vcap_keyfieldset() 428 const struct vcap_set *kset = vcap_keyfieldset(vctrl, vt, keyset); in vcap_keyfield_typegroup() local 431 if (!kset) in vcap_keyfield_typegroup() 433 return vctrl->vcaps[vt].keyfield_set_typegroups[kset->sw_per_item]; in vcap_keyfield_typegroup() 888 const struct vcap_set *kset; in vcap_set_rule_set_keyset() local 891 kset = vcap_keyfieldset(ri->vctrl, ri->admin->vtype, keyset); in vcap_set_rule_set_keyset() 893 if (!kset) in vcap_set_rule_set_keyset() [all …]
|