Message ID | 20221123122523.1332370-4-gregkh@linuxfoundation.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
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>
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!
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);
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(-)