auxbus: make to_auxiliary_drv accept and return a constant pointer
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jun 2024 13:01:04 +0000 (15:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Jun 2024 14:43:26 +0000 (16:43 +0200)
In the quest to make struct device constant, start by making
to_auxiliary_drv() return a constant pointer so that drivers that call
this can be fixed up before the driver core changes.

As the return type previously was not constant, also fix up all callers
that were assuming that the pointer was not going to be a constant one
in order to not break the build.

Cc: Dave Ertman <david.m.ertman@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Bingbu Cao <bingbu.cao@intel.com>
Cc: Tianshu Qiu <tian.shu.qiu@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Michael Chan <michael.chan@broadcom.com>
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: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Tariq Toukan <tariqt@nvidia.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Cc: Bard Liao <yung-chuan.liao@linux.intel.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Cc: Daniel Baluta <daniel.baluta@nxp.com>
Cc: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: linux-media@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: linux-rdma@vger.kernel.org
Cc: sound-open-firmware@alsa-project.org
Cc: linux-sound@vger.kernel.org
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> # drivers/media/pci/intel/ipu6
Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com>
Link: https://lore.kernel.org/r/20240611130103.3262749-7-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/auxiliary.c
drivers/media/pci/intel/ipu6/ipu6-bus.h
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
drivers/net/ethernet/intel/ice/ice_ptp.c
drivers/net/ethernet/mellanox/mlx5/core/dev.c
include/linux/auxiliary_bus.h
sound/soc/sof/sof-client.c

index d3a2c40c2f1272ca59ef75aa978e843dc5305ccf..5832e31bb77bba63cd00fb25faff854e57d5b9aa 100644 (file)
@@ -180,7 +180,7 @@ static const struct auxiliary_device_id *auxiliary_match_id(const struct auxilia
 static int auxiliary_match(struct device *dev, struct device_driver *drv)
 {
        struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
-       struct auxiliary_driver *auxdrv = to_auxiliary_drv(drv);
+       const struct auxiliary_driver *auxdrv = to_auxiliary_drv(drv);
 
        return !!auxiliary_match_id(auxdrv->id_table, auxdev);
 }
@@ -203,7 +203,7 @@ static const struct dev_pm_ops auxiliary_dev_pm_ops = {
 
 static int auxiliary_bus_probe(struct device *dev)
 {
-       struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
+       const struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
        struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
        int ret;
 
@@ -222,7 +222,7 @@ static int auxiliary_bus_probe(struct device *dev)
 
 static void auxiliary_bus_remove(struct device *dev)
 {
-       struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
+       const struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
        struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
 
        if (auxdrv->remove)
@@ -232,7 +232,7 @@ static void auxiliary_bus_remove(struct device *dev)
 
 static void auxiliary_bus_shutdown(struct device *dev)
 {
-       struct auxiliary_driver *auxdrv = NULL;
+       const struct auxiliary_driver *auxdrv = NULL;
        struct auxiliary_device *auxdev;
 
        if (dev->driver) {
index b26c6aee1621522c14a21a444a6d305d80131666..bb4926dfdf08802b03ef4634fecec63431c09d1a 100644 (file)
@@ -21,7 +21,7 @@ struct ipu6_buttress_ctrl;
 
 struct ipu6_bus_device {
        struct auxiliary_device auxdev;
-       struct auxiliary_driver *auxdrv;
+       const struct auxiliary_driver *auxdrv;
        const struct ipu6_auxdrv_data *auxdrv_data;
        struct list_head list;
        void *pdata;
index ba3fa1c2e5d9ab49cb8c31de1336b6c6627198ab..b9e7d3e7b15d073ad5dd9986008165eebfacee04 100644 (file)
@@ -239,7 +239,7 @@ void bnxt_ulp_stop(struct bnxt *bp)
 
                adev = &aux_priv->aux_dev;
                if (adev->dev.driver) {
-                       struct auxiliary_driver *adrv;
+                       const struct auxiliary_driver *adrv;
                        pm_message_t pm = {};
 
                        adrv = to_auxiliary_drv(adev->dev.driver);
@@ -277,7 +277,7 @@ void bnxt_ulp_start(struct bnxt *bp, int err)
 
                adev = &aux_priv->aux_dev;
                if (adev->dev.driver) {
-                       struct auxiliary_driver *adrv;
+                       const struct auxiliary_driver *adrv;
 
                        adrv = to_auxiliary_drv(adev->dev.driver);
                        edev->en_state = bp->state;
index 0f17fc1181d28375769a671fc593a1f612e749f4..7341e7c4ef246879e624a10a8f4bd768d60e45f3 100644 (file)
@@ -2784,7 +2784,7 @@ static struct ice_pf *
 ice_ptp_aux_dev_to_owner_pf(struct auxiliary_device *aux_dev)
 {
        struct ice_ptp_port_owner *ports_owner;
-       struct auxiliary_driver *aux_drv;
+       const struct auxiliary_driver *aux_drv;
        struct ice_ptp *owner_ptp;
 
        if (!aux_dev->dev.driver)
index 47e7c2639774fd8c6d6aa11142d23039735aa506..9a79674d27f15af2b003b0224036871f77c9ca20 100644 (file)
@@ -349,7 +349,7 @@ int mlx5_attach_device(struct mlx5_core_dev *dev)
 {
        struct mlx5_priv *priv = &dev->priv;
        struct auxiliary_device *adev;
-       struct auxiliary_driver *adrv;
+       const struct auxiliary_driver *adrv;
        int ret = 0, i;
 
        devl_assert_locked(priv_to_devlink(dev));
@@ -406,7 +406,7 @@ void mlx5_detach_device(struct mlx5_core_dev *dev, bool suspend)
 {
        struct mlx5_priv *priv = &dev->priv;
        struct auxiliary_device *adev;
-       struct auxiliary_driver *adrv;
+       const struct auxiliary_driver *adrv;
        pm_message_t pm = {};
        int i;
 
index de21d9d24a95fb6c0fb7e8ead73bdff6d1c1ccf8..bdff7b85f2ae5f1f65be56deed640c4bb3896293 100644 (file)
@@ -203,7 +203,7 @@ static inline struct auxiliary_device *to_auxiliary_dev(struct device *dev)
        return container_of(dev, struct auxiliary_device, dev);
 }
 
-static inline struct auxiliary_driver *to_auxiliary_drv(struct device_driver *drv)
+static inline const struct auxiliary_driver *to_auxiliary_drv(const struct device_driver *drv)
 {
        return container_of(drv, struct auxiliary_driver, driver);
 }
index 99f74def4ab6009f27c1e85ddcee15af278e1941..5d6005a88e798fd1a1022340d91ea71de5b0b0d6 100644 (file)
@@ -357,7 +357,7 @@ EXPORT_SYMBOL_NS_GPL(sof_client_ipc4_find_module, SND_SOC_SOF_CLIENT);
 
 int sof_suspend_clients(struct snd_sof_dev *sdev, pm_message_t state)
 {
-       struct auxiliary_driver *adrv;
+       const struct auxiliary_driver *adrv;
        struct sof_client_dev *cdev;
 
        mutex_lock(&sdev->ipc_client_mutex);
@@ -380,7 +380,7 @@ EXPORT_SYMBOL_NS_GPL(sof_suspend_clients, SND_SOC_SOF_CLIENT);
 
 int sof_resume_clients(struct snd_sof_dev *sdev)
 {
-       struct auxiliary_driver *adrv;
+       const struct auxiliary_driver *adrv;
        struct sof_client_dev *cdev;
 
        mutex_lock(&sdev->ipc_client_mutex);