forked from mirrors/linux
		
	driver core: make struct class.dev_uevent() take a const *
The dev_uevent() in struct class should not be modifying the device that is passed into it, so mark it as a const * and propagate the function signature changes out into all relevant subsystems that use this callback. Cc: Jens Axboe <axboe@kernel.dk> Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: Russ Weight <russell.h.weight@intel.com> Cc: Jean Delvare <jdelvare@suse.com> Cc: Johan Hovold <johan@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Leon Romanovsky <leon@kernel.org> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Keith Busch <kbusch@kernel.org> Cc: Christoph Hellwig <hch@lst.de> Cc: Sagi Grimberg <sagi@grimberg.me> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Paolo Abeni <pabeni@redhat.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Wolfram Sang <wsa+renesas@sang-engineering.com> Cc: Raed Salem <raeds@nvidia.com> Cc: Chen Zhongjin <chenzhongjin@huawei.com> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: Avihai Horon <avihaih@nvidia.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Colin Ian King <colin.i.king@gmail.com> Cc: Geert Uytterhoeven <geert+renesas@glider.be> Cc: Jakob Koschel <jakobkoschel@gmail.com> Cc: Antoine Tenart <atenart@kernel.org> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Wang Yufen <wangyufen@huawei.com> Cc: linux-block@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-nvme@lists.infradead.org Cc: linux-pm@vger.kernel.org Cc: linux-rdma@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Acked-by: Sebastian Reichel <sre@kernel.org> Acked-by: Rafael J. Wysocki <rafael@kernel.org> Link: https://lore.kernel.org/r/20221123122523.1332370-1-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									2613cc29c5
								
							
						
					
					
						commit
						23680f0b7d
					
				
					 18 changed files with 33 additions and 33 deletions
				
			
		| 
						 | 
				
			
			@ -1181,9 +1181,9 @@ static void disk_release(struct device *dev)
 | 
			
		|||
	iput(disk->part0->bd_inode);	/* frees the disk */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int block_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int block_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct gendisk *disk = dev_to_disk(dev);
 | 
			
		||||
	const struct gendisk *disk = dev_to_disk(dev);
 | 
			
		||||
 | 
			
		||||
	return add_uevent_var(env, "DISKSEQ=%llu", disk->diskseq);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ static struct attribute *firmware_class_attrs[] = {
 | 
			
		|||
};
 | 
			
		||||
ATTRIBUTE_GROUPS(firmware_class);
 | 
			
		||||
 | 
			
		||||
static int do_firmware_uevent(struct fw_sysfs *fw_sysfs, struct kobj_uevent_env *env)
 | 
			
		||||
static int do_firmware_uevent(const struct fw_sysfs *fw_sysfs, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	if (add_uevent_var(env, "FIRMWARE=%s", fw_sysfs->fw_priv->fw_name))
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
| 
						 | 
				
			
			@ -76,9 +76,9 @@ static int do_firmware_uevent(struct fw_sysfs *fw_sysfs, struct kobj_uevent_env
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int firmware_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int firmware_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
 | 
			
		||||
	const struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
 | 
			
		||||
	int err = 0;
 | 
			
		||||
 | 
			
		||||
	mutex_lock(&fw_lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ struct fw_sysfs {
 | 
			
		|||
	void *fw_upload_priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static inline struct fw_sysfs *to_fw_sysfs(struct device *dev)
 | 
			
		||||
static inline struct fw_sysfs *to_fw_sysfs(const struct device *dev)
 | 
			
		||||
{
 | 
			
		||||
	return container_of(dev, struct fw_sysfs, dev);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ static const struct attribute_group* sys_dmi_attribute_groups[] = {
 | 
			
		|||
	NULL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int dmi_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int dmi_dev_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	ssize_t len;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -337,7 +337,7 @@ static const char * const gnss_type_names[GNSS_TYPE_COUNT] = {
 | 
			
		|||
	[GNSS_TYPE_MTK]		= "MTK",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const char *gnss_type_name(struct gnss_device *gdev)
 | 
			
		||||
static const char *gnss_type_name(const struct gnss_device *gdev)
 | 
			
		||||
{
 | 
			
		||||
	const char *name = NULL;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -365,9 +365,9 @@ static struct attribute *gnss_attrs[] = {
 | 
			
		|||
};
 | 
			
		||||
ATTRIBUTE_GROUPS(gnss);
 | 
			
		||||
 | 
			
		||||
static int gnss_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int gnss_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct gnss_device *gdev = to_gnss_device(dev);
 | 
			
		||||
	const struct gnss_device *gdev = to_gnss_device(dev);
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	ret = add_uevent_var(env, "GNSS_TYPE=%s", gnss_type_name(gdev));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -511,7 +511,7 @@ static void ib_device_release(struct device *device)
 | 
			
		|||
	kfree_rcu(dev, rcu_head);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int ib_device_uevent(struct device *device,
 | 
			
		||||
static int ib_device_uevent(const struct device *device,
 | 
			
		||||
			    struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	if (add_uevent_var(env, "NAME=%s", dev_name(device)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -139,9 +139,9 @@ static struct attribute *mISDN_attrs[] = {
 | 
			
		|||
};
 | 
			
		||||
ATTRIBUTE_GROUPS(mISDN);
 | 
			
		||||
 | 
			
		||||
static int mISDN_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int mISDN_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct mISDNdevice *mdev = dev_to_mISDN(dev);
 | 
			
		||||
	const struct mISDNdevice *mdev = dev_to_mISDN(dev);
 | 
			
		||||
 | 
			
		||||
	if (!mdev)
 | 
			
		||||
		return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1008,9 +1008,9 @@ void dvb_module_release(struct i2c_client *client)
 | 
			
		|||
EXPORT_SYMBOL_GPL(dvb_module_release);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static int dvb_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int dvb_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct dvb_device *dvbdev = dev_get_drvdata(dev);
 | 
			
		||||
	const struct dvb_device *dvbdev = dev_get_drvdata(dev);
 | 
			
		||||
 | 
			
		||||
	add_uevent_var(env, "DVB_ADAPTER_NUM=%d", dvbdev->adapter->num);
 | 
			
		||||
	add_uevent_var(env, "DVB_DEVICE_TYPE=%s", dnames[dvbdev->type]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4580,9 +4580,9 @@ void nvme_remove_namespaces(struct nvme_ctrl *ctrl)
 | 
			
		|||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(nvme_remove_namespaces);
 | 
			
		||||
 | 
			
		||||
static int nvme_class_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int nvme_class_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct nvme_ctrl *ctrl =
 | 
			
		||||
	const struct nvme_ctrl *ctrl =
 | 
			
		||||
		container_of(dev, struct nvme_ctrl, ctrl_device);
 | 
			
		||||
	struct nvmf_ctrl_options *opts = ctrl->opts;
 | 
			
		||||
	int ret;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -810,10 +810,10 @@ int pcmcia_reset_card(struct pcmcia_socket *skt)
 | 
			
		|||
EXPORT_SYMBOL(pcmcia_reset_card);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static int pcmcia_socket_uevent(struct device *dev,
 | 
			
		||||
static int pcmcia_socket_uevent(const struct device *dev,
 | 
			
		||||
				struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct pcmcia_socket *s = container_of(dev, struct pcmcia_socket, dev);
 | 
			
		||||
	const struct pcmcia_socket *s = container_of(dev, struct pcmcia_socket, dev);
 | 
			
		||||
 | 
			
		||||
	if (add_uevent_var(env, "SOCKET_NO=%u", s->sock))
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ struct power_supply;
 | 
			
		|||
#ifdef CONFIG_SYSFS
 | 
			
		||||
 | 
			
		||||
extern void power_supply_init_attrs(struct device_type *dev_type);
 | 
			
		||||
extern int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env);
 | 
			
		||||
extern int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env);
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -427,7 +427,7 @@ void power_supply_init_attrs(struct device_type *dev_type)
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int add_prop_uevent(struct device *dev, struct kobj_uevent_env *env,
 | 
			
		||||
static int add_prop_uevent(const struct device *dev, struct kobj_uevent_env *env,
 | 
			
		||||
			   enum power_supply_property prop, char *prop_buf)
 | 
			
		||||
{
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -438,7 +438,7 @@ static int add_prop_uevent(struct device *dev, struct kobj_uevent_env *env,
 | 
			
		|||
	pwr_attr = &power_supply_attrs[prop];
 | 
			
		||||
	dev_attr = &pwr_attr->dev_attr;
 | 
			
		||||
 | 
			
		||||
	ret = power_supply_show_property(dev, dev_attr, prop_buf);
 | 
			
		||||
	ret = power_supply_show_property((struct device *)dev, dev_attr, prop_buf);
 | 
			
		||||
	if (ret == -ENODEV || ret == -ENODATA) {
 | 
			
		||||
		/*
 | 
			
		||||
		 * When a battery is absent, we expect -ENODEV. Don't abort;
 | 
			
		||||
| 
						 | 
				
			
			@ -458,9 +458,9 @@ static int add_prop_uevent(struct device *dev, struct kobj_uevent_env *env,
 | 
			
		|||
			      pwr_attr->prop_name, prop_buf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct power_supply *psy = dev_get_drvdata(dev);
 | 
			
		||||
	const struct power_supply *psy = dev_get_drvdata(dev);
 | 
			
		||||
	int ret = 0, j;
 | 
			
		||||
	char *prop_buf;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1723,9 +1723,9 @@ static const struct attribute_group *usb_udc_attr_groups[] = {
 | 
			
		|||
	NULL,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int usb_udc_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int usb_udc_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
 | 
			
		||||
	const struct usb_udc	*udc = container_of(dev, struct usb_udc, dev);
 | 
			
		||||
	int			ret;
 | 
			
		||||
 | 
			
		||||
	ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ struct class {
 | 
			
		|||
	const struct attribute_group	**dev_groups;
 | 
			
		||||
	struct kobject			*dev_kobj;
 | 
			
		||||
 | 
			
		||||
	int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);
 | 
			
		||||
	int (*dev_uevent)(const struct device *dev, struct kobj_uevent_env *env);
 | 
			
		||||
	char *(*devnode)(struct device *dev, umode_t *mode);
 | 
			
		||||
 | 
			
		||||
	void (*class_release)(struct class *class);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -586,7 +586,7 @@ extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *,
 | 
			
		|||
						void *);
 | 
			
		||||
extern void	mISDN_unregister_clock(struct mISDNclock *);
 | 
			
		||||
 | 
			
		||||
static inline struct mISDNdevice *dev_to_mISDN(struct device *dev)
 | 
			
		||||
static inline struct mISDNdevice *dev_to_mISDN(const struct device *dev)
 | 
			
		||||
{
 | 
			
		||||
	if (dev)
 | 
			
		||||
		return dev_get_drvdata(dev);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,9 +108,9 @@ static struct device_attribute *atm_attrs[] = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static int atm_uevent(struct device *cdev, struct kobj_uevent_env *env)
 | 
			
		||||
static int atm_uevent(const struct device *cdev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct atm_dev *adev;
 | 
			
		||||
	const struct atm_dev *adev;
 | 
			
		||||
 | 
			
		||||
	if (!cdev)
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1873,9 +1873,9 @@ const struct kobj_ns_type_operations net_ns_type_operations = {
 | 
			
		|||
};
 | 
			
		||||
EXPORT_SYMBOL_GPL(net_ns_type_operations);
 | 
			
		||||
 | 
			
		||||
static int netdev_uevent(struct device *d, struct kobj_uevent_env *env)
 | 
			
		||||
static int netdev_uevent(const struct device *d, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct net_device *dev = to_net_dev(d);
 | 
			
		||||
	const struct net_device *dev = to_net_dev(d);
 | 
			
		||||
	int retval;
 | 
			
		||||
 | 
			
		||||
	/* pass interface to uevent. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -832,7 +832,7 @@ static void rfkill_release(struct device *dev)
 | 
			
		|||
	kfree(rfkill);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int rfkill_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
static int rfkill_dev_uevent(const struct device *dev, struct kobj_uevent_env *env)
 | 
			
		||||
{
 | 
			
		||||
	struct rfkill *rfkill = to_rfkill(dev);
 | 
			
		||||
	unsigned long flags;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue