| /linux-5.15/lib/ ! |
| H A D | kobject.c | 28 const void *kobject_namespace(struct kobject *kobj) in kobject_namespace() argument 30 const struct kobj_ns_type_operations *ns_ops = kobj_ns_ops(kobj); in kobject_namespace() 35 return kobj->ktype->namespace(kobj); in kobject_namespace() 48 void kobject_get_ownership(struct kobject *kobj, kuid_t *uid, kgid_t *gid) in kobject_get_ownership() argument 53 if (kobj->ktype->get_ownership) in kobject_get_ownership() 54 kobj->ktype->get_ownership(kobj, uid, gid); in kobject_get_ownership() 66 static int populate_dir(struct kobject *kobj) in populate_dir() argument 68 struct kobj_type *t = get_ktype(kobj); in populate_dir() 75 error = sysfs_create_file(kobj, attr); in populate_dir() 83 static int create_dir(struct kobject *kobj) in create_dir() argument [all …]
|
| H A D | kobject_uevent.c | 192 int kobject_synth_uevent(struct kobject *kobj, const char *buf, size_t count) in kobject_synth_uevent() argument 208 r = kobject_uevent_env(kobj, action, no_uuid_envp); in kobject_synth_uevent() 222 r = kobject_uevent_env(kobj, action, env->envp); in kobject_synth_uevent() 226 devpath = kobject_get_path(kobj, GFP_KERNEL); in kobject_synth_uevent() 236 static int kobj_usermode_filter(struct kobject *kobj) in kobj_usermode_filter() argument 240 ops = kobj_ns_ops(kobj); in kobj_usermode_filter() 244 ns = kobj->ktype->namespace(kobj); in kobj_usermode_filter() 381 static int kobject_uevent_net_broadcast(struct kobject *kobj, in kobject_uevent_net_broadcast() argument 392 ops = kobj_ns_ops(kobj); in kobject_uevent_net_broadcast() 393 if (!ops && kobj->kset) { in kobject_uevent_net_broadcast() [all …]
|
| /linux-5.15/include/linux/ ! |
| H A D | kobject.h | 83 int kobject_set_name(struct kobject *kobj, const char *name, ...); 85 int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, 88 static inline const char *kobject_name(const struct kobject *kobj) in kobject_name() argument 90 return kobj->name; in kobject_name() 93 extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype); 95 int kobject_add(struct kobject *kobj, struct kobject *parent, 98 int kobject_init_and_add(struct kobject *kobj, 102 extern void kobject_del(struct kobject *kobj); 111 extern struct kobject *kobject_get(struct kobject *kobj); 113 struct kobject *kobj); [all …]
|
| H A D | sysfs.h | 245 int __must_check sysfs_create_dir_ns(struct kobject *kobj, const void *ns); 246 void sysfs_remove_dir(struct kobject *kobj); 247 int __must_check sysfs_rename_dir_ns(struct kobject *kobj, const char *new_name, 249 int __must_check sysfs_move_dir_ns(struct kobject *kobj, 257 int __must_check sysfs_create_file_ns(struct kobject *kobj, 260 int __must_check sysfs_create_files(struct kobject *kobj, 262 int __must_check sysfs_chmod_file(struct kobject *kobj, 264 struct kernfs_node *sysfs_break_active_protection(struct kobject *kobj, 267 void sysfs_remove_file_ns(struct kobject *kobj, const struct attribute *attr, 269 bool sysfs_remove_file_self(struct kobject *kobj, const struct attribute *attr); [all …]
|
| /linux-5.15/fs/sysfs/ ! |
| H A D | group.c | 34 static int create_files(struct kernfs_node *parent, struct kobject *kobj, in create_files() argument 54 mode = grp->is_visible(kobj, *attr, i); in create_files() 83 mode = grp->is_bin_visible(kobj, *bin_attr, i); in create_files() 108 static int internal_create_group(struct kobject *kobj, int update, in internal_create_group() argument 116 if (WARN_ON(!kobj || (!update && !kobj->sd))) in internal_create_group() 120 if (unlikely(update && !kobj->sd)) in internal_create_group() 124 kobj->name, grp->name ?: ""); in internal_create_group() 127 kobject_get_ownership(kobj, &uid, &gid); in internal_create_group() 130 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group() 133 kobj->name, grp->name); in internal_create_group() [all …]
|
| H A D | file.c | 28 struct kobject *kobj = kn->parent->priv; in sysfs_file_ops() local 32 return kobj->ktype ? kobj->ktype->sysfs_ops : NULL; in sysfs_file_ops() 43 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_seq_show() local 61 count = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_seq_show() 84 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_read() local 100 return battr->read(of->file, kobj, battr, buf, pos, count); in sysfs_kf_bin_read() 108 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_read() local 117 len = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_read() 134 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_write() local 139 return ops->store(kobj, of->kn->priv, buf, count); in sysfs_kf_write() [all …]
|
| H A D | dir.c | 40 int sysfs_create_dir_ns(struct kobject *kobj, const void *ns) in sysfs_create_dir_ns() argument 46 if (WARN_ON(!kobj)) in sysfs_create_dir_ns() 49 if (kobj->parent) in sysfs_create_dir_ns() 50 parent = kobj->parent->sd; in sysfs_create_dir_ns() 57 kobject_get_ownership(kobj, &uid, &gid); in sysfs_create_dir_ns() 59 kn = kernfs_create_dir_ns(parent, kobject_name(kobj), in sysfs_create_dir_ns() 61 kobj, ns); in sysfs_create_dir_ns() 64 sysfs_warn_dup(parent, kobject_name(kobj)); in sysfs_create_dir_ns() 68 kobj->sd = kn; in sysfs_create_dir_ns() 80 void sysfs_remove_dir(struct kobject *kobj) in sysfs_remove_dir() argument [all …]
|
| H A D | symlink.c | 67 static int sysfs_do_create_link(struct kobject *kobj, struct kobject *target, in sysfs_do_create_link() argument 72 if (!kobj) in sysfs_do_create_link() 75 parent = kobj->sd; in sysfs_do_create_link() 89 int sysfs_create_link(struct kobject *kobj, struct kobject *target, in sysfs_create_link() argument 92 return sysfs_do_create_link(kobj, target, name, 1); in sysfs_create_link() 105 int sysfs_create_link_nowarn(struct kobject *kobj, struct kobject *target, in sysfs_create_link_nowarn() argument 108 return sysfs_do_create_link(kobj, target, name, 0); in sysfs_create_link_nowarn() 121 void sysfs_delete_link(struct kobject *kobj, struct kobject *targ, in sysfs_delete_link() argument 132 if (targ->sd && kernfs_ns_enabled(kobj->sd)) in sysfs_delete_link() 135 kernfs_remove_by_name_ns(kobj->sd, name, ns); in sysfs_delete_link() [all …]
|
| /linux-5.15/drivers/gpu/drm/i915/gt/ ! |
| A D | sysfs_engines.c | 19 static struct intel_engine_cs *kobj_to_engine(struct kobject *kobj) in kobj_to_engine() argument 21 return container_of(kobj, struct kobj_engine, base)->engine; in kobj_to_engine() 25 name_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) in name_show() argument 27 return sprintf(buf, "%s\n", kobj_to_engine(kobj)->name); in name_show() 34 class_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) in class_show() argument 36 return sprintf(buf, "%d\n", kobj_to_engine(kobj)->uabi_class); in class_show() 43 inst_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) in inst_show() argument 45 return sprintf(buf, "%d\n", kobj_to_engine(kobj)->uabi_instance); in inst_show() 52 mmio_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) in mmio_show() argument 54 return sprintf(buf, "0x%x\n", kobj_to_engine(kobj)->mmio_base); in mmio_show() [all …]
|
| /linux-5.15/drivers/cpuidle/ ! |
| H A D | sysfs.c | 126 return sysfs_create_group(&dev->kobj, &cpuidle_attr_group); in cpuidle_add_interface() 135 sysfs_remove_group(&dev->kobj, &cpuidle_attr_group); in cpuidle_remove_interface() 149 struct kobject kobj; member 152 static inline struct cpuidle_device *to_cpuidle_device(struct kobject *kobj) in to_cpuidle_device() argument 155 container_of(kobj, struct cpuidle_device_kobj, kobj); in to_cpuidle_device() 160 static ssize_t cpuidle_show(struct kobject *kobj, struct attribute *attr, in cpuidle_show() argument 164 struct cpuidle_device *dev = to_cpuidle_device(kobj); in cpuidle_show() 175 static ssize_t cpuidle_store(struct kobject *kobj, struct attribute *attr, in cpuidle_store() argument 179 struct cpuidle_device *dev = to_cpuidle_device(kobj); in cpuidle_store() 195 static void cpuidle_sysfs_release(struct kobject *kobj) in cpuidle_sysfs_release() argument [all …]
|
| /linux-5.15/arch/powerpc/kernel/ ! |
| A D | secvar-sysfs.c | 21 static ssize_t format_show(struct kobject *kobj, struct kobj_attribute *attr, in format_show() argument 44 static ssize_t size_show(struct kobject *kobj, struct kobj_attribute *attr, in size_show() argument 50 rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize); in size_show() 52 pr_err("Error retrieving %s variable size %d\n", kobj->name, in size_show() 60 static ssize_t data_read(struct file *filep, struct kobject *kobj, in data_read() argument 68 rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize); in data_read() 70 pr_err("Error getting %s variable size %d\n", kobj->name, rc); in data_read() 79 rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, data, &dsize); in data_read() 81 pr_err("Error getting %s variable %d\n", kobj->name, rc); in data_read() 92 static ssize_t update_write(struct file *filep, struct kobject *kobj, in update_write() argument [all …]
|
| /linux-5.15/drivers/vfio/mdev/ ! |
| A D | mdev_sysfs.c | 21 static ssize_t mdev_type_attr_show(struct kobject *kobj, in mdev_type_attr_show() argument 25 struct mdev_type *type = to_mdev_type(kobj); in mdev_type_attr_show() 33 static ssize_t mdev_type_attr_store(struct kobject *kobj, in mdev_type_attr_store() argument 38 struct mdev_type *type = to_mdev_type(kobj); in mdev_type_attr_store() 80 static void mdev_type_release(struct kobject *kobj) in mdev_type_release() argument 82 struct mdev_type *type = to_mdev_type(kobj); in mdev_type_release() 84 pr_debug("Releasing group %s\n", kobj->name); in mdev_type_release() 112 type->kobj.kset = parent->mdev_types_kset; in add_mdev_supported_type() 118 ret = kobject_init_and_add(&type->kobj, &mdev_type_ktype, NULL, in add_mdev_supported_type() 122 kobject_put(&type->kobj); in add_mdev_supported_type() [all …]
|
| /linux-5.15/drivers/edac/ ! |
| H A D | edac_device_sysfs.c | 23 #define to_edacdev(k) container_of(k, struct edac_device_ctl_info, kobj) 113 #define to_ctl_info(k) container_of(k, struct edac_device_ctl_info, kobj) 117 static ssize_t edac_dev_ctl_info_show(struct kobject *kobj, in edac_dev_ctl_info_show() argument 120 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj); in edac_dev_ctl_info_show() 129 static ssize_t edac_dev_ctl_info_store(struct kobject *kobj, in edac_dev_ctl_info_store() argument 133 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj); in edac_dev_ctl_info_store() 201 static void edac_device_ctrl_master_release(struct kobject *kobj) in edac_device_ctrl_master_release() argument 203 struct edac_device_ctl_info *edac_dev = to_edacdev(kobj); in edac_device_ctrl_master_release() 245 memset(&edac_dev->kobj, 0, sizeof(struct kobject)); in edac_device_register_sysfs_main_kobj() 258 err = kobject_init_and_add(&edac_dev->kobj, &ktype_device_ctrl, in edac_device_register_sysfs_main_kobj() [all …]
|
| /linux-5.15/drivers/block/rnbd/ ! |
| A D | rnbd-srv-sysfs.c | 27 static void rnbd_srv_dev_release(struct kobject *kobj) in rnbd_srv_dev_release() argument 31 dev = container_of(kobj, struct rnbd_srv_dev, dev_kobj); in rnbd_srv_dev_release() 62 bdev_kobj = &disk_to_dev(bdev->bd_disk)->kobj; in rnbd_srv_create_dev_sysfs() 86 static ssize_t read_only_show(struct kobject *kobj, struct kobj_attribute *attr, in read_only_show() argument 91 sess_dev = container_of(kobj, struct rnbd_srv_sess_dev, kobj); in read_only_show() 100 static ssize_t access_mode_show(struct kobject *kobj, in access_mode_show() argument 106 sess_dev = container_of(kobj, struct rnbd_srv_sess_dev, kobj); in access_mode_show() 115 static ssize_t mapping_path_show(struct kobject *kobj, in mapping_path_show() argument 120 sess_dev = container_of(kobj, struct rnbd_srv_sess_dev, kobj); in mapping_path_show() 128 static ssize_t rnbd_srv_dev_session_force_close_show(struct kobject *kobj, in rnbd_srv_dev_session_force_close_show() argument [all …]
|
| /linux-5.15/drivers/infiniband/ulp/rtrs/ ! |
| A D | rtrs-srv-sysfs.c | 16 static void rtrs_srv_release(struct kobject *kobj) in rtrs_srv_release() argument 20 sess = container_of(kobj, struct rtrs_srv_sess, kobj); in rtrs_srv_release() 29 static ssize_t rtrs_srv_disconnect_show(struct kobject *kobj, in rtrs_srv_disconnect_show() argument 35 static ssize_t rtrs_srv_disconnect_store(struct kobject *kobj, in rtrs_srv_disconnect_store() argument 43 sess = container_of(kobj, struct rtrs_srv_sess, kobj); in rtrs_srv_disconnect_store() 55 sysfs_remove_file_self(&sess->kobj, &attr->attr); in rtrs_srv_disconnect_store() 65 static ssize_t rtrs_srv_hca_port_show(struct kobject *kobj, in rtrs_srv_hca_port_show() argument 72 sess = container_of(kobj, typeof(*sess), kobj); in rtrs_srv_hca_port_show() 81 static ssize_t rtrs_srv_hca_name_show(struct kobject *kobj, in rtrs_srv_hca_name_show() argument 87 sess = container_of(kobj, struct rtrs_srv_sess, kobj); in rtrs_srv_hca_name_show() [all …]
|
| A D | rtrs-clt-sysfs.c | 19 static void rtrs_clt_sess_release(struct kobject *kobj) in rtrs_clt_sess_release() argument 23 sess = container_of(kobj, struct rtrs_clt_sess, kobj); in rtrs_clt_sess_release() 33 static void rtrs_clt_sess_stats_release(struct kobject *kobj) in rtrs_clt_sess_stats_release() argument 37 stats = container_of(kobj, struct rtrs_clt_stats, kobj_stats); in rtrs_clt_sess_stats_release() 197 static ssize_t rtrs_clt_state_show(struct kobject *kobj, in rtrs_clt_state_show() argument 202 sess = container_of(kobj, struct rtrs_clt_sess, kobj); in rtrs_clt_state_show() 212 static ssize_t rtrs_clt_reconnect_show(struct kobject *kobj, in rtrs_clt_reconnect_show() argument 218 static ssize_t rtrs_clt_reconnect_store(struct kobject *kobj, in rtrs_clt_reconnect_store() argument 225 sess = container_of(kobj, struct rtrs_clt_sess, kobj); in rtrs_clt_reconnect_store() 242 static ssize_t rtrs_clt_disconnect_show(struct kobject *kobj, in rtrs_clt_disconnect_show() argument [all …]
|
| /linux-5.15/fs/btrfs/ ! |
| H A D | sysfs.c | 54 struct kobject kobj; member 93 static inline struct btrfs_fs_info *to_fs_info(struct kobject *kobj); 94 static inline struct btrfs_fs_devices *to_fs_devs(struct kobject *kobj); 167 static ssize_t btrfs_feature_attr_show(struct kobject *kobj, in btrfs_feature_attr_show() argument 171 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_attr_show() 183 static ssize_t btrfs_feature_attr_store(struct kobject *kobj, in btrfs_feature_attr_store() argument 193 fs_info = to_fs_info(kobj); in btrfs_feature_attr_store() 251 static umode_t btrfs_feature_visible(struct kobject *kobj, in btrfs_feature_visible() argument 254 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_visible() 330 static ssize_t rmdir_subvol_show(struct kobject *kobj, in rmdir_subvol_show() argument [all …]
|
| /linux-5.15/drivers/platform/x86/ ! |
| A D | think-lmi.c | 133 #define to_tlmi_pwd_setting(kobj) container_of(kobj, struct tlmi_pwd_setting, kobj) argument 134 #define to_tlmi_attr_setting(kobj) container_of(kobj, struct tlmi_attr_setting, kobj) argument 311 static ssize_t is_enabled_show(struct kobject *kobj, struct kobj_attribute *attr, in is_enabled_show() argument 314 struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj); in is_enabled_show() 321 static ssize_t current_password_store(struct kobject *kobj, in current_password_store() argument 325 struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj); in current_password_store() 343 static ssize_t new_password_store(struct kobject *kobj, in new_password_store() argument 347 struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj); in new_password_store() 390 static ssize_t min_password_length_show(struct kobject *kobj, struct kobj_attribute *attr, in min_password_length_show() argument 393 struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj); in min_password_length_show() [all …]
|
| /linux-5.15/fs/nfs/ ! |
| A D | sysfs.c | 23 static void nfs_netns_object_release(struct kobject *kobj) in nfs_netns_object_release() argument 25 kfree(kobj); in nfs_netns_object_release() 29 struct kobject *kobj) in nfs_netns_object_child_ns_type() argument 43 struct kobject *kobj; in nfs_netns_object_alloc() local 45 kobj = kzalloc(sizeof(*kobj), GFP_KERNEL); in nfs_netns_object_alloc() 46 if (kobj) { in nfs_netns_object_alloc() 47 kobj->kset = kset; in nfs_netns_object_alloc() 48 if (kobject_init_and_add(kobj, &nfs_netns_object_type, in nfs_netns_object_alloc() 50 return kobj; in nfs_netns_object_alloc() 51 kobject_put(kobj); in nfs_netns_object_alloc() [all …]
|
| /linux-5.15/block/ ! |
| A D | blk-mq-sysfs.c | 18 static void blk_mq_sysfs_release(struct kobject *kobj) in blk_mq_sysfs_release() argument 20 struct blk_mq_ctxs *ctxs = container_of(kobj, struct blk_mq_ctxs, kobj); in blk_mq_sysfs_release() 26 static void blk_mq_ctx_sysfs_release(struct kobject *kobj) in blk_mq_ctx_sysfs_release() argument 28 struct blk_mq_ctx *ctx = container_of(kobj, struct blk_mq_ctx, kobj); in blk_mq_ctx_sysfs_release() 31 kobject_put(&ctx->ctxs->kobj); in blk_mq_ctx_sysfs_release() 34 static void blk_mq_hw_sysfs_release(struct kobject *kobj) in blk_mq_hw_sysfs_release() argument 36 struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, in blk_mq_hw_sysfs_release() 37 kobj); in blk_mq_hw_sysfs_release() 54 static ssize_t blk_mq_hw_sysfs_show(struct kobject *kobj, in blk_mq_hw_sysfs_show() argument 63 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show() [all …]
|
| /linux-5.15/net/sunrpc/ ! |
| A D | sysfs.c | 28 static void rpc_sysfs_object_release(struct kobject *kobj) in rpc_sysfs_object_release() argument 30 kfree(kobj); in rpc_sysfs_object_release() 34 rpc_sysfs_object_child_ns_type(struct kobject *kobj) in rpc_sysfs_object_child_ns_type() argument 49 struct kobject *kobj; in rpc_sysfs_object_alloc() local 51 kobj = kzalloc(sizeof(*kobj), GFP_KERNEL); in rpc_sysfs_object_alloc() 52 if (kobj) { in rpc_sysfs_object_alloc() 53 kobj->kset = kset; in rpc_sysfs_object_alloc() 54 if (kobject_init_and_add(kobj, &rpc_sysfs_object_type, in rpc_sysfs_object_alloc() 56 return kobj; in rpc_sysfs_object_alloc() 57 kobject_put(kobj); in rpc_sysfs_object_alloc() [all …]
|
| /linux-5.15/arch/powerpc/platforms/powernv/ ! |
| A D | opal-elog.c | 21 struct kobject kobj; member 28 #define to_elog_obj(x) container_of(x, struct elog_obj, kobj) 79 if (sysfs_remove_file_self(&elog_obj->kobj, &attr->attr)) { in elog_ack_store() 81 kobject_put(&elog_obj->kobj); in elog_ack_store() 95 static ssize_t elog_attr_show(struct kobject *kobj, in elog_attr_show() argument 103 elog = to_elog_obj(kobj); in elog_attr_show() 111 static ssize_t elog_attr_store(struct kobject *kobj, in elog_attr_store() argument 119 elog = to_elog_obj(kobj); in elog_attr_store() 132 static void elog_release(struct kobject *kobj) in elog_release() argument 136 elog = to_elog_obj(kobj); in elog_release() [all …]
|
| /linux-5.15/drivers/w1/slaves/ ! |
| H A D | w1_ds2408.c | 67 static ssize_t state_read(struct file *filp, struct kobject *kobj, in state_read() argument 71 dev_dbg(&kobj_to_w1_slave(kobj)->dev, in state_read() 73 bin_attr->attr.name, kobj, (unsigned int)off, count, buf); in state_read() 76 return _read_reg(kobj_to_w1_slave(kobj), W1_F29_REG_LOGIG_STATE, buf); in state_read() 79 static ssize_t output_read(struct file *filp, struct kobject *kobj, in output_read() argument 83 dev_dbg(&kobj_to_w1_slave(kobj)->dev, in output_read() 85 bin_attr->attr.name, kobj, (unsigned int)off, count, buf); in output_read() 88 return _read_reg(kobj_to_w1_slave(kobj), in output_read() 92 static ssize_t activity_read(struct file *filp, struct kobject *kobj, in activity_read() argument 96 dev_dbg(&kobj_to_w1_slave(kobj)->dev, in activity_read() [all …]
|
| /linux-5.15/drivers/of/ ! |
| A D | kobj.c | 10 return node && node->kobj.state_initialized; in of_node_is_initialized() 16 return node && node->kobj.state_in_sysfs; in of_node_is_attached() 21 static void of_node_release(struct kobject *kobj) in of_node_release() argument 31 static ssize_t of_node_property_read(struct file *filp, struct kobject *kobj, in of_node_property_read() argument 40 static const char *safe_name(struct kobject *kobj, const char *orig_name) in safe_name() argument 47 while (i < 16 && (kn = sysfs_get_dirent(kobj->sd, name))) { in safe_name() 58 kobject_name(kobj), name); in safe_name() 77 pp->attr.attr.name = safe_name(&np->kobj, pp->name); in __of_add_property_sysfs() 82 rc = sysfs_create_bin_file(&np->kobj, &pp->attr); in __of_add_property_sysfs() 92 sysfs_remove_bin_file(&np->kobj, &prop->attr); in __of_sysfs_remove_bin_file() [all …]
|
| /linux-5.15/Documentation/translations/zh_CN/core-api/ ! |
| A D | kobject.rst | 67 struct kobject kobj; 71 如果你有一个uio_map结构体,找到其嵌入的kobject只是一个使用kobj成员的问题。 89 struct uio_map *u_map = container_of(kp, struct uio_map, kobj); 95 struct kobject kobj; 99 #define to_map(map) container_of(map, struct uio_map, kobj) 103 struct uio_map *map = to_map(kobj); 112 void kobject_init(struct kobject *kobj, struct kobj_type *ktype); 117 int kobject_add(struct kobject *kobj, struct kobject *parent, 121 联,在调用kobject_add()之前必须分配kobj->kset。如果kset与kobject相关联,则 128 int kobject_rename(struct kobject *kobj, const char *new_name); [all …]
|