All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	linux-i3c@lists.infradead.org
Subject: [PATCH v2 02/16] i3c: move dev_to_i3cdev() to use container_of_const()
Date: Wed, 11 Jan 2023 12:30:04 +0100	[thread overview]
Message-ID: <20230111113018.459199-3-gregkh@linuxfoundation.org> (raw)
In-Reply-To: <20230111113018.459199-1-gregkh@linuxfoundation.org>

The driver core is changing to pass some pointers as const, so move
dev_to_i3cdev() to use container_of_const() to handle this change.
dev_to_i3cdev() now properly keeps the const-ness of the pointer passed
into it, while as before it could be lost.

Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: linux-i3c@lists.infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/i3c/device.c       | 12 ------------
 include/linux/i3c/device.h |  9 ++++++++-
 2 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/i3c/device.c b/drivers/i3c/device.c
index 9762630b917e..d111499061b2 100644
--- a/drivers/i3c/device.c
+++ b/drivers/i3c/device.c
@@ -208,18 +208,6 @@ struct device *i3cdev_to_dev(struct i3c_device *i3cdev)
 }
 EXPORT_SYMBOL_GPL(i3cdev_to_dev);
 
-/**
- * dev_to_i3cdev() - Returns the I3C device containing @dev
- * @dev: device object
- *
- * Return: a pointer to an I3C device object.
- */
-struct i3c_device *dev_to_i3cdev(struct device *dev)
-{
-	return container_of(dev, struct i3c_device, dev);
-}
-EXPORT_SYMBOL_GPL(dev_to_i3cdev);
-
 /**
  * i3c_device_match_id() - Returns the i3c_device_id entry matching @i3cdev
  * @i3cdev: I3C device
diff --git a/include/linux/i3c/device.h b/include/linux/i3c/device.h
index 1c997abe868c..68b558929aec 100644
--- a/include/linux/i3c/device.h
+++ b/include/linux/i3c/device.h
@@ -186,7 +186,14 @@ static inline struct i3c_driver *drv_to_i3cdrv(struct device_driver *drv)
 }
 
 struct device *i3cdev_to_dev(struct i3c_device *i3cdev);
-struct i3c_device *dev_to_i3cdev(struct device *dev);
+
+/**
+ * dev_to_i3cdev() - Returns the I3C device containing @dev
+ * @dev: device object
+ *
+ * Return: a pointer to an I3C device object.
+ */
+#define dev_to_i3cdev(__dev)	container_of_const(__dev, struct i3c_device, dev)
 
 const struct i3c_device_id *
 i3c_device_match_id(struct i3c_device *i3cdev,
-- 
2.39.0


-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	linux-i3c@lists.infradead.org
Subject: [PATCH v2 02/16] i3c: move dev_to_i3cdev() to use container_of_const()
Date: Wed, 11 Jan 2023 12:30:04 +0100	[thread overview]
Message-ID: <20230111113018.459199-3-gregkh@linuxfoundation.org> (raw)
In-Reply-To: <20230111113018.459199-1-gregkh@linuxfoundation.org>

The driver core is changing to pass some pointers as const, so move
dev_to_i3cdev() to use container_of_const() to handle this change.
dev_to_i3cdev() now properly keeps the const-ness of the pointer passed
into it, while as before it could be lost.

Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: linux-i3c@lists.infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/i3c/device.c       | 12 ------------
 include/linux/i3c/device.h |  9 ++++++++-
 2 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/i3c/device.c b/drivers/i3c/device.c
index 9762630b917e..d111499061b2 100644
--- a/drivers/i3c/device.c
+++ b/drivers/i3c/device.c
@@ -208,18 +208,6 @@ struct device *i3cdev_to_dev(struct i3c_device *i3cdev)
 }
 EXPORT_SYMBOL_GPL(i3cdev_to_dev);
 
-/**
- * dev_to_i3cdev() - Returns the I3C device containing @dev
- * @dev: device object
- *
- * Return: a pointer to an I3C device object.
- */
-struct i3c_device *dev_to_i3cdev(struct device *dev)
-{
-	return container_of(dev, struct i3c_device, dev);
-}
-EXPORT_SYMBOL_GPL(dev_to_i3cdev);
-
 /**
  * i3c_device_match_id() - Returns the i3c_device_id entry matching @i3cdev
  * @i3cdev: I3C device
diff --git a/include/linux/i3c/device.h b/include/linux/i3c/device.h
index 1c997abe868c..68b558929aec 100644
--- a/include/linux/i3c/device.h
+++ b/include/linux/i3c/device.h
@@ -186,7 +186,14 @@ static inline struct i3c_driver *drv_to_i3cdrv(struct device_driver *drv)
 }
 
 struct device *i3cdev_to_dev(struct i3c_device *i3cdev);
-struct i3c_device *dev_to_i3cdev(struct device *dev);
+
+/**
+ * dev_to_i3cdev() - Returns the I3C device containing @dev
+ * @dev: device object
+ *
+ * Return: a pointer to an I3C device object.
+ */
+#define dev_to_i3cdev(__dev)	container_of_const(__dev, struct i3c_device, dev)
 
 const struct i3c_device_id *
 i3c_device_match_id(struct i3c_device *i3cdev,
-- 
2.39.0


  parent reply	other threads:[~2023-01-11 11:31 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-11 11:30 [PATCH v2 00/16] driver core: make more things const! Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 01/16] of: device: make of_device_uevent_modalias() take a const device * Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 14:54   ` Rob Herring
2023-01-11 14:54     ` Rob Herring
2023-01-11 14:54     ` Rob Herring
2023-01-11 14:54     ` Rob Herring
2023-01-11 15:26     ` Greg Kroah-Hartman
2023-01-11 15:26       ` Greg Kroah-Hartman
2023-01-11 15:26       ` Greg Kroah-Hartman
2023-01-11 15:26       ` Greg Kroah-Hartman
2023-01-11 15:30       ` Dmitry Baryshkov
2023-01-11 15:30         ` Dmitry Baryshkov
2023-01-11 15:30         ` Dmitry Baryshkov
2023-01-11 15:30         ` Dmitry Baryshkov
2023-01-27 12:33     ` Greg Kroah-Hartman
2023-01-27 12:33       ` Greg Kroah-Hartman
2023-01-27 12:33       ` Greg Kroah-Hartman
2023-01-27 12:33       ` Greg Kroah-Hartman
2023-01-11 11:30 ` Greg Kroah-Hartman [this message]
2023-01-11 11:30   ` [PATCH v2 02/16] i3c: move dev_to_i3cdev() to use container_of_const() Greg Kroah-Hartman
2023-01-11 13:31   ` Alexandre Belloni
2023-01-11 13:31     ` Alexandre Belloni
2023-01-11 11:30 ` [PATCH v2 03/16] platform/surface: aggregator: move to_ssam_device() " Greg Kroah-Hartman
2023-01-11 11:54   ` Hans de Goede
2023-01-11 12:14     ` Greg Kroah-Hartman
2023-01-11 12:15       ` Hans de Goede
2023-01-11 12:02   ` Maximilian Luz
2023-01-11 12:14     ` Greg Kroah-Hartman
2023-01-11 13:29       ` Maximilian Luz
2023-01-11 11:30 ` [PATCH v2 04/16] firewire: move fw_device() and fw_unit() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 05/16] driver core: make struct device_type.uevent() take a const * Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:50   ` Wolfram Sang
2023-01-11 11:50     ` Wolfram Sang
2023-01-11 11:50     ` Wolfram Sang
2023-01-11 12:34   ` Vinod Koul
2023-01-11 12:34     ` Vinod Koul
2023-01-11 12:34     ` Vinod Koul
2023-01-11 13:32   ` Alexandre Belloni
2023-01-11 13:32     ` Alexandre Belloni
2023-01-11 13:32     ` Alexandre Belloni
2023-01-12 11:58   ` Heikki Krogerus
2023-01-12 11:58     ` Heikki Krogerus
2023-01-12 11:58     ` Heikki Krogerus
2023-01-11 11:30 ` [PATCH v2 06/16] driver core: make struct device_type.devnode() " Greg Kroah-Hartman
2023-01-13 13:33   ` Alexander Shishkin
2023-01-11 11:30 ` [PATCH v2 07/16] driver core: device_get_devnode() should " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 08/16] vio: move to_vio_dev() to use container_of_const() Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 09/16] platform/x86: wmi: move dev_to_wblock() and dev_to_wdev " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 10/16] drivers: hv: move device_to_hv_device " Greg Kroah-Hartman
2023-01-12 14:04   ` Wei Liu
2023-01-11 11:30 ` [PATCH v2 11/16] virtio: move dev_to_virtio() " Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 12/16] drm/mipi-dsi: move to_mipi_dsi_device() " Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 13/16] mcb: move to_mcb_device() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 14/16] xen/xenbus: move to_xenbus_device() " Greg Kroah-Hartman
2023-01-11 12:11   ` Juergen Gross
2023-01-11 11:30 ` [PATCH v2 15/16] driver core: make struct bus_type.uevent() take a const * Greg Kroah-Hartman
2023-01-11 17:39   ` Rafael J. Wysocki
2023-02-01 11:21   ` Naresh Kamboju
2023-02-01 11:46     ` Greg KH
2023-01-11 11:30 ` [Cluster-devel] [PATCH v2 16/16] kobject: kset_uevent_ops: make uevent() callback " Greg Kroah-Hartman
2023-01-11 11:30   ` Greg Kroah-Hartman
2023-01-11 17:37   ` [Cluster-devel] " Rafael J. Wysocki
2023-01-11 17:37     ` Rafael J. Wysocki
2023-01-11 11:55 ` [PATCH v2 00/16] driver core: make more things const! Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230111113018.459199-3-gregkh@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.