Commit c45a88bb authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

kobject: kset_uevent_ops: make filter() callback take a const *



The filter() callback in struct kset_uevent_ops does not modify the
kobject passed into it, so make the pointer const to enforce this
restriction.  When doing so, fix up all existing filter() callbacks to
have the correct signature to preserve the build.

Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Acked-by: default avatarRafael J. Wysocki <rafael@kernel.org>
Acked-by: Christian König <christian.koenig@amd.com> for the changes to
Link: https://lore.kernel.org/r/20221121094649.1556002-3-gregkh@linuxfoundation.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 542aa246
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ static struct kobj_type bus_ktype = {
	.release	= bus_release,
};

static int bus_uevent_filter(struct kobject *kobj)
static int bus_uevent_filter(const struct kobject *kobj)
{
	const struct kobj_type *ktype = get_ktype(kobj);

+2 −2
Original line number Diff line number Diff line
@@ -2362,12 +2362,12 @@ static struct kobj_type device_ktype = {
};


static int dev_uevent_filter(struct kobject *kobj)
static int dev_uevent_filter(const struct kobject *kobj)
{
	const struct kobj_type *ktype = get_ktype(kobj);

	if (ktype == &device_ktype) {
		struct device *dev = kobj_to_dev(kobj);
		const struct device *dev = kobj_to_dev(kobj);
		if (dev->bus)
			return 1;
		if (dev->class)
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ void dma_buf_stats_teardown(struct dma_buf *dmabuf)


/* Statistics files do not need to send uevents. */
static int dmabuf_sysfs_uevent_filter(struct kobject *kobj)
static int dmabuf_sysfs_uevent_filter(const struct kobject *kobj)
{
	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ struct kobj_uevent_env {
};

struct kset_uevent_ops {
	int (* const filter)(struct kobject *kobj);
	int (* const filter)(const struct kobject *kobj);
	const char *(* const name)(struct kobject *kobj);
	int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env);
};
+1 −1
Original line number Diff line number Diff line
@@ -926,7 +926,7 @@ static const struct sysfs_ops module_sysfs_ops = {
	.store = module_attr_store,
};

static int uevent_filter(struct kobject *kobj)
static int uevent_filter(const struct kobject *kobj)
{
	const struct kobj_type *ktype = get_ktype(kobj);