Linux CXL
 help / color / mirror / Atom feed
* [PATCH 4/5] driver core: make struct device_type.devnode() take a const *
       [not found] <20221123122523.1332370-1-gregkh@linuxfoundation.org>
@ 2022-11-23 12:25 ` Greg Kroah-Hartman
  2022-11-23 19:23   ` Dan Williams
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2022-11-23 12:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, Jens Axboe, Alison Schofield, Vishal Verma,
	Ira Weiny, Ben Widawsky, Dan Williams, Jeremy Kerr, Joel Stanley,
	Alistar Popple, Eddie James, Alexander Shishkin, Jonathan Cameron,
	Jilin Yuan, Heikki Krogerus, Alan Stern, Andy Shevchenko,
	Thomas Gleixner, Jason Gunthorpe, Rafael J. Wysocki, Won Chung,
	linux-block, linux-cxl, linux-fsi, linux-usb

The devnode() callback in struct device_type 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: Alison Schofield <alison.schofield@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Ben Widawsky <bwidawsk@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Jeremy Kerr <jk@ozlabs.org>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Alistar Popple <alistair@popple.id.au>
Cc: Eddie James <eajames@linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jilin Yuan <yuanjilin@cdjrlc.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: Won Chung <wonchung@google.com>
Cc: linux-block@vger.kernel.org
Cc: linux-cxl@vger.kernel.org
Cc: linux-fsi@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 block/genhd.c                         | 4 ++--
 drivers/cxl/core/memdev.c             | 2 +-
 drivers/fsi/fsi-core.c                | 6 +++---
 drivers/hwtracing/intel_th/core.c     | 6 +++---
 drivers/hwtracing/intel_th/intel_th.h | 4 ++--
 drivers/usb/core/usb.c                | 4 ++--
 include/linux/device.h                | 2 +-
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index 3f1124713442..391b52655b97 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1193,10 +1193,10 @@ struct class block_class = {
 	.dev_uevent	= block_uevent,
 };
 
-static char *block_devnode(struct device *dev, umode_t *mode,
+static char *block_devnode(const struct device *dev, umode_t *mode,
 			   kuid_t *uid, kgid_t *gid)
 {
-	struct gendisk *disk = dev_to_disk(dev);
+	const struct gendisk *disk = dev_to_disk(dev);
 
 	if (disk->fops->devnode)
 		return disk->fops->devnode(disk, mode);
diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c
index 20ce488a7754..6ae8d0bdc61b 100644
--- a/drivers/cxl/core/memdev.c
+++ b/drivers/cxl/core/memdev.c
@@ -27,7 +27,7 @@ static void cxl_memdev_release(struct device *dev)
 	kfree(cxlmd);
 }
 
-static char *cxl_memdev_devnode(struct device *dev, umode_t *mode, kuid_t *uid,
+static char *cxl_memdev_devnode(const struct device *dev, umode_t *mode, kuid_t *uid,
 				kgid_t *gid)
 {
 	return kasprintf(GFP_KERNEL, "cxl/%s", dev_name(dev));
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 694e80c06665..0b927c9f4267 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -897,10 +897,10 @@ static const struct attribute_group *cfam_attr_groups[] = {
 	NULL,
 };
 
-static char *cfam_devnode(struct device *dev, umode_t *mode,
+static char *cfam_devnode(const struct device *dev, umode_t *mode,
 			  kuid_t *uid, kgid_t *gid)
 {
-	struct fsi_slave *slave = to_fsi_slave(dev);
+	const struct fsi_slave *slave = to_fsi_slave(dev);
 
 #ifdef CONFIG_FSI_NEW_DEV_NODE
 	return kasprintf(GFP_KERNEL, "fsi/cfam%d", slave->cdev_idx);
@@ -915,7 +915,7 @@ static const struct device_type cfam_type = {
 	.groups = cfam_attr_groups
 };
 
-static char *fsi_cdev_devnode(struct device *dev, umode_t *mode,
+static char *fsi_cdev_devnode(const struct device *dev, umode_t *mode,
 			      kuid_t *uid, kgid_t *gid)
 {
 #ifdef CONFIG_FSI_NEW_DEV_NODE
diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c
index 7e753a75d23b..cc7f879bb175 100644
--- a/drivers/hwtracing/intel_th/core.c
+++ b/drivers/hwtracing/intel_th/core.c
@@ -185,11 +185,11 @@ static struct device_type intel_th_source_device_type = {
 	.release	= intel_th_device_release,
 };
 
-static char *intel_th_output_devnode(struct device *dev, umode_t *mode,
+static char *intel_th_output_devnode(const struct device *dev, umode_t *mode,
 				     kuid_t *uid, kgid_t *gid)
 {
-	struct intel_th_device *thdev = to_intel_th_device(dev);
-	struct intel_th *th = to_intel_th(thdev);
+	const struct intel_th_device *thdev = to_intel_th_device(dev);
+	const struct intel_th *th = to_intel_th(thdev);
 	char *node;
 
 	if (thdev->id >= 0)
diff --git a/drivers/hwtracing/intel_th/intel_th.h b/drivers/hwtracing/intel_th/intel_th.h
index 0ffb42990175..6cbba733f259 100644
--- a/drivers/hwtracing/intel_th/intel_th.h
+++ b/drivers/hwtracing/intel_th/intel_th.h
@@ -205,7 +205,7 @@ struct intel_th_driver {
  * INTEL_TH_SWITCH and INTEL_TH_SOURCE are children of the intel_th device.
  */
 static inline struct intel_th_device *
-to_intel_th_parent(struct intel_th_device *thdev)
+to_intel_th_parent(const struct intel_th_device *thdev)
 {
 	struct device *parent = thdev->dev.parent;
 
@@ -215,7 +215,7 @@ to_intel_th_parent(struct intel_th_device *thdev)
 	return to_intel_th_device(parent);
 }
 
-static inline struct intel_th *to_intel_th(struct intel_th_device *thdev)
+static inline struct intel_th *to_intel_th(const struct intel_th_device *thdev)
 {
 	if (thdev->type == INTEL_TH_OUTPUT)
 		thdev = to_intel_th_parent(thdev);
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 8527c06b65e6..4df26f4f76e6 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -505,10 +505,10 @@ static const struct dev_pm_ops usb_device_pm_ops = {
 #endif	/* CONFIG_PM */
 
 
-static char *usb_devnode(struct device *dev,
+static char *usb_devnode(const struct device *dev,
 			 umode_t *mode, kuid_t *uid, kgid_t *gid)
 {
-	struct usb_device *usb_dev;
+	const struct usb_device *usb_dev;
 
 	usb_dev = to_usb_device(dev);
 	return kasprintf(GFP_KERNEL, "bus/usb/%03d/%03d",
diff --git a/include/linux/device.h b/include/linux/device.h
index 46093bae6905..4ad1280713e6 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -89,7 +89,7 @@ struct device_type {
 	const char *name;
 	const struct attribute_group **groups;
 	int (*uevent)(const struct device *dev, struct kobj_uevent_env *env);
-	char *(*devnode)(struct device *dev, umode_t *mode,
+	char *(*devnode)(const struct device *dev, umode_t *mode,
 			 kuid_t *uid, kgid_t *gid);
 	void (*release)(struct device *dev);
 
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH 4/5] driver core: make struct device_type.devnode() take a const *
  2022-11-23 12:25 ` [PATCH 4/5] driver core: make struct device_type.devnode() take a const * Greg Kroah-Hartman
@ 2022-11-23 19:23   ` Dan Williams
  2023-01-11  9:46     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Williams @ 2022-11-23 19:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: Greg Kroah-Hartman, Jens Axboe, Alison Schofield, Vishal Verma,
	Ira Weiny, Ben Widawsky, Dan Williams, Jeremy Kerr, Joel Stanley,
	Alistar Popple, Eddie James, Alexander Shishkin, Jonathan Cameron,
	Jilin Yuan, Heikki Krogerus, Alan Stern, Andy Shevchenko,
	Thomas Gleixner, Jason Gunthorpe, Rafael J. Wysocki, Won Chung,
	linux-block, linux-cxl, linux-fsi, linux-usb

Greg Kroah-Hartman wrote:
> The devnode() callback in struct device_type 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: Alison Schofield <alison.schofield@intel.com>
> Cc: Vishal Verma <vishal.l.verma@intel.com>
> Cc: Ira Weiny <ira.weiny@intel.com>
> Cc: Ben Widawsky <bwidawsk@kernel.org>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Cc: Jeremy Kerr <jk@ozlabs.org>
> Cc: Joel Stanley <joel@jms.id.au>
> Cc: Alistar Popple <alistair@popple.id.au>
> Cc: Eddie James <eajames@linux.ibm.com>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Jilin Yuan <yuanjilin@cdjrlc.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
> Cc: Won Chung <wonchung@google.com>
> Cc: linux-block@vger.kernel.org
> Cc: linux-cxl@vger.kernel.org
> Cc: linux-fsi@lists.ozlabs.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-usb@vger.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[..]
> diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c
> index 20ce488a7754..6ae8d0bdc61b 100644
> --- a/drivers/cxl/core/memdev.c
> +++ b/drivers/cxl/core/memdev.c
> @@ -27,7 +27,7 @@ static void cxl_memdev_release(struct device *dev)
>  	kfree(cxlmd);
>  }
>  
> -static char *cxl_memdev_devnode(struct device *dev, umode_t *mode, kuid_t *uid,
> +static char *cxl_memdev_devnode(const struct device *dev, umode_t *mode, kuid_t *uid,
>  				kgid_t *gid)
>  {
>  	return kasprintf(GFP_KERNEL, "cxl/%s", dev_name(dev));

For the CXL bit:

Acked-by: Dan Williams <dan.j.williams@intel.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 4/5] driver core: make struct device_type.devnode() take a const *
  2022-11-23 19:23   ` Dan Williams
@ 2023-01-11  9:46     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2023-01-11  9:46 UTC (permalink / raw)
  To: Dan Williams
  Cc: linux-kernel, Jens Axboe, Alison Schofield, Vishal Verma,
	Ira Weiny, Ben Widawsky, Jeremy Kerr, Joel Stanley,
	Alistar Popple, Eddie James, Alexander Shishkin, Jonathan Cameron,
	Jilin Yuan, Heikki Krogerus, Alan Stern, Andy Shevchenko,
	Thomas Gleixner, Jason Gunthorpe, Rafael J. Wysocki, Won Chung,
	linux-block, linux-cxl, linux-fsi, linux-usb

On Wed, Nov 23, 2022 at 11:23:36AM -0800, Dan Williams wrote:
> Greg Kroah-Hartman wrote:
> > The devnode() callback in struct device_type 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: Alison Schofield <alison.schofield@intel.com>
> > Cc: Vishal Verma <vishal.l.verma@intel.com>
> > Cc: Ira Weiny <ira.weiny@intel.com>
> > Cc: Ben Widawsky <bwidawsk@kernel.org>
> > Cc: Dan Williams <dan.j.williams@intel.com>
> > Cc: Jeremy Kerr <jk@ozlabs.org>
> > Cc: Joel Stanley <joel@jms.id.au>
> > Cc: Alistar Popple <alistair@popple.id.au>
> > Cc: Eddie James <eajames@linux.ibm.com>
> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> > Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Cc: Jilin Yuan <yuanjilin@cdjrlc.com>
> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > Cc: Alan Stern <stern@rowland.harvard.edu>
> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Jason Gunthorpe <jgg@ziepe.ca>
> > Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
> > Cc: Won Chung <wonchung@google.com>
> > Cc: linux-block@vger.kernel.org
> > Cc: linux-cxl@vger.kernel.org
> > Cc: linux-fsi@lists.ozlabs.org
> > Cc: linux-kernel@vger.kernel.org
> > Cc: linux-usb@vger.kernel.org
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> [..]
> > diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c
> > index 20ce488a7754..6ae8d0bdc61b 100644
> > --- a/drivers/cxl/core/memdev.c
> > +++ b/drivers/cxl/core/memdev.c
> > @@ -27,7 +27,7 @@ static void cxl_memdev_release(struct device *dev)
> >  	kfree(cxlmd);
> >  }
> >  
> > -static char *cxl_memdev_devnode(struct device *dev, umode_t *mode, kuid_t *uid,
> > +static char *cxl_memdev_devnode(const struct device *dev, umode_t *mode, kuid_t *uid,
> >  				kgid_t *gid)
> >  {
> >  	return kasprintf(GFP_KERNEL, "cxl/%s", dev_name(dev));
> 
> For the CXL bit:
> 
> Acked-by: Dan Williams <dan.j.williams@intel.com>

Thanks for the review!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-01-11  9:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20221123122523.1332370-1-gregkh@linuxfoundation.org>
2022-11-23 12:25 ` [PATCH 4/5] driver core: make struct device_type.devnode() take a const * Greg Kroah-Hartman
2022-11-23 19:23   ` Dan Williams
2023-01-11  9:46     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox