kobject: remove kset from struct kset_uevent_ops callbacks

There is no need to pass the pointer to the kset in the struct
kset_uevent_ops callbacks as no one uses it, so just remove that pointer
entirely.

Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Wedson Almeida Filho <wedsonaf@google.com>
Link: https://lore.kernel.org/r/20211227163924.3970661-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2021-12-27 17:39:24 +01:00
parent ee6d3dd4ed
commit cf6299b610
10 changed files with 22 additions and 28 deletions

View File

@ -373,10 +373,9 @@ If a kset wishes to control the uevent operations of the kobjects
associated with it, it can use the struct kset_uevent_ops to handle it:: associated with it, it can use the struct kset_uevent_ops to handle it::
struct kset_uevent_ops { struct kset_uevent_ops {
int (* const filter)(struct kset *kset, struct kobject *kobj); int (* const filter)(struct kobject *kobj);
const char *(* const name)(struct kset *kset, struct kobject *kobj); const char *(* const name)(struct kobject *kobj);
int (* const uevent)(struct kset *kset, struct kobject *kobj, int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env);
struct kobj_uevent_env *env);
}; };

View File

@ -325,10 +325,9 @@ ksets
结构体kset_uevent_ops来处理它:: 结构体kset_uevent_ops来处理它::
struct kset_uevent_ops { struct kset_uevent_ops {
int (* const filter)(struct kset *kset, struct kobject *kobj); int (* const filter)(struct kobject *kobj);
const char *(* const name)(struct kset *kset, struct kobject *kobj); const char *(* const name)(struct kobject *kobj);
int (* const uevent)(struct kset *kset, struct kobject *kobj, int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env);
struct kobj_uevent_env *env);
}; };

View File

@ -163,7 +163,7 @@ static struct kobj_type bus_ktype = {
.release = bus_release, .release = bus_release,
}; };
static int bus_uevent_filter(struct kset *kset, struct kobject *kobj) static int bus_uevent_filter(struct kobject *kobj)
{ {
const struct kobj_type *ktype = get_ktype(kobj); const struct kobj_type *ktype = get_ktype(kobj);

View File

@ -2261,7 +2261,7 @@ static struct kobj_type device_ktype = {
}; };
static int dev_uevent_filter(struct kset *kset, struct kobject *kobj) static int dev_uevent_filter(struct kobject *kobj)
{ {
const struct kobj_type *ktype = get_ktype(kobj); const struct kobj_type *ktype = get_ktype(kobj);
@ -2275,7 +2275,7 @@ static int dev_uevent_filter(struct kset *kset, struct kobject *kobj)
return 0; return 0;
} }
static const char *dev_uevent_name(struct kset *kset, struct kobject *kobj) static const char *dev_uevent_name(struct kobject *kobj)
{ {
struct device *dev = kobj_to_dev(kobj); struct device *dev = kobj_to_dev(kobj);
@ -2286,8 +2286,7 @@ static const char *dev_uevent_name(struct kset *kset, struct kobject *kobj)
return NULL; return NULL;
} }
static int dev_uevent(struct kset *kset, struct kobject *kobj, static int dev_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
struct kobj_uevent_env *env)
{ {
struct device *dev = kobj_to_dev(kobj); struct device *dev = kobj_to_dev(kobj);
int retval = 0; int retval = 0;
@ -2382,7 +2381,7 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
/* respect filter */ /* respect filter */
if (kset->uevent_ops && kset->uevent_ops->filter) if (kset->uevent_ops && kset->uevent_ops->filter)
if (!kset->uevent_ops->filter(kset, &dev->kobj)) if (!kset->uevent_ops->filter(&dev->kobj))
goto out; goto out;
env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL); env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL);
@ -2390,7 +2389,7 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
return -ENOMEM; return -ENOMEM;
/* let the kset specific function add its keys */ /* let the kset specific function add its keys */
retval = kset->uevent_ops->uevent(kset, &dev->kobj, env); retval = kset->uevent_ops->uevent(&dev->kobj, env);
if (retval) if (retval)
goto out; goto out;

View File

@ -132,7 +132,7 @@ void dma_buf_stats_teardown(struct dma_buf *dmabuf)
/* Statistics files do not need to send uevents. */ /* Statistics files do not need to send uevents. */
static int dmabuf_sysfs_uevent_filter(struct kset *kset, struct kobject *kobj) static int dmabuf_sysfs_uevent_filter(struct kobject *kobj)
{ {
return 0; return 0;
} }

View File

@ -216,8 +216,7 @@ static int do_uevent(struct dlm_ls *ls, int in)
return ls->ls_uevent_result; return ls->ls_uevent_result;
} }
static int dlm_uevent(struct kset *kset, struct kobject *kobj, static int dlm_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
struct kobj_uevent_env *env)
{ {
struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);

View File

@ -767,8 +767,7 @@ void gfs2_sys_fs_del(struct gfs2_sbd *sdp)
wait_for_completion(&sdp->sd_kobj_unregister); wait_for_completion(&sdp->sd_kobj_unregister);
} }
static int gfs2_uevent(struct kset *kset, struct kobject *kobj, static int gfs2_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
struct kobj_uevent_env *env)
{ {
struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
struct super_block *s = sdp->sd_vfs; struct super_block *s = sdp->sd_vfs;

View File

@ -153,10 +153,9 @@ struct kobj_uevent_env {
}; };
struct kset_uevent_ops { struct kset_uevent_ops {
int (* const filter)(struct kset *kset, struct kobject *kobj); int (* const filter)(struct kobject *kobj);
const char *(* const name)(struct kset *kset, struct kobject *kobj); const char *(* const name)(struct kobject *kobj);
int (* const uevent)(struct kset *kset, struct kobject *kobj, int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env);
struct kobj_uevent_env *env);
}; };
struct kobj_attribute { struct kobj_attribute {

View File

@ -926,7 +926,7 @@ static const struct sysfs_ops module_sysfs_ops = {
.store = module_attr_store, .store = module_attr_store,
}; };
static int uevent_filter(struct kset *kset, struct kobject *kobj) static int uevent_filter(struct kobject *kobj)
{ {
const struct kobj_type *ktype = get_ktype(kobj); const struct kobj_type *ktype = get_ktype(kobj);

View File

@ -501,7 +501,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
} }
/* skip the event, if the filter returns zero. */ /* skip the event, if the filter returns zero. */
if (uevent_ops && uevent_ops->filter) if (uevent_ops && uevent_ops->filter)
if (!uevent_ops->filter(kset, kobj)) { if (!uevent_ops->filter(kobj)) {
pr_debug("kobject: '%s' (%p): %s: filter function " pr_debug("kobject: '%s' (%p): %s: filter function "
"caused the event to drop!\n", "caused the event to drop!\n",
kobject_name(kobj), kobj, __func__); kobject_name(kobj), kobj, __func__);
@ -510,7 +510,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
/* originating subsystem */ /* originating subsystem */
if (uevent_ops && uevent_ops->name) if (uevent_ops && uevent_ops->name)
subsystem = uevent_ops->name(kset, kobj); subsystem = uevent_ops->name(kobj);
else else
subsystem = kobject_name(&kset->kobj); subsystem = kobject_name(&kset->kobj);
if (!subsystem) { if (!subsystem) {
@ -554,7 +554,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
/* let the kset specific function add its stuff */ /* let the kset specific function add its stuff */
if (uevent_ops && uevent_ops->uevent) { if (uevent_ops && uevent_ops->uevent) {
retval = uevent_ops->uevent(kset, kobj, env); retval = uevent_ops->uevent(kobj, env);
if (retval) { if (retval) {
pr_debug("kobject: '%s' (%p): %s: uevent() returned " pr_debug("kobject: '%s' (%p): %s: uevent() returned "
"%d\n", kobject_name(kobj), kobj, "%d\n", kobject_name(kobj), kobj,