bus: mhi: core: Use generic name field for an MHI device
authorBhaumik Bhatt <bbhatt@codeaurora.org>
Tue, 29 Sep 2020 17:52:05 +0000 (23:22 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Oct 2020 09:33:46 +0000 (11:33 +0200)
An MHI device is not necessarily associated with only channels as we can
have one associated with the controller itself. Hence, the chan_name
field within the mhi_device structure should instead be replaced with a
generic name to accurately reflect any type of MHI device.

Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20200929175218.8178-7-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bus/mhi/core/init.c
drivers/bus/mhi/core/main.c
include/linux/mhi.h

index e43a190..e2011ec 100644 (file)
@@ -904,6 +904,7 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl,
        mhi_dev->dev_type = MHI_DEVICE_CONTROLLER;
        mhi_dev->mhi_cntrl = mhi_cntrl;
        dev_set_name(&mhi_dev->dev, "%s", dev_name(mhi_cntrl->cntrl_dev));
+       mhi_dev->name = dev_name(mhi_cntrl->cntrl_dev);
 
        /* Init wakeup source */
        device_init_wakeup(&mhi_dev->dev, true);
@@ -1249,7 +1250,7 @@ static int mhi_uevent(struct device *dev, struct kobj_uevent_env *env)
        struct mhi_device *mhi_dev = to_mhi_device(dev);
 
        return add_uevent_var(env, "MODALIAS=" MHI_DEVICE_MODALIAS_FMT,
-                                       mhi_dev->chan_name);
+                                       mhi_dev->name);
 }
 
 static int mhi_match(struct device *dev, struct device_driver *drv)
@@ -1266,7 +1267,7 @@ static int mhi_match(struct device *dev, struct device_driver *drv)
                return 0;
 
        for (id = mhi_drv->id_table; id->chan[0]; id++)
-               if (!strcmp(mhi_dev->chan_name, id->chan)) {
+               if (!strcmp(mhi_dev->name, id->chan)) {
                        mhi_dev->id = id;
                        return 1;
                }
index 79be18e..2cff5dd 100644 (file)
@@ -249,7 +249,7 @@ int mhi_destroy_device(struct device *dev, void *data)
                put_device(&mhi_dev->dl_chan->mhi_dev->dev);
 
        dev_dbg(&mhi_cntrl->mhi_dev->dev, "destroy device for chan:%s\n",
-                mhi_dev->chan_name);
+                mhi_dev->name);
 
        /* Notify the client and remove the device from MHI bus */
        device_del(dev);
@@ -327,10 +327,10 @@ void mhi_create_devices(struct mhi_controller *mhi_cntrl)
                }
 
                /* Channel name is same for both UL and DL */
-               mhi_dev->chan_name = mhi_chan->name;
+               mhi_dev->name = mhi_chan->name;
                dev_set_name(&mhi_dev->dev, "%s_%s",
                             dev_name(mhi_cntrl->cntrl_dev),
-                            mhi_dev->chan_name);
+                            mhi_dev->name);
 
                /* Init wakeup source if available */
                if (mhi_dev->dl_chan && mhi_dev->dl_chan->wake_capable)
index 0779bc6..bb337d1 100644 (file)
@@ -438,10 +438,10 @@ struct mhi_controller {
 };
 
 /**
- * struct mhi_device - Structure representing a MHI device which binds
- *                     to channels
+ * struct mhi_device - Structure representing an MHI device which binds
+ *                     to channels or is associated with controllers
  * @id: Pointer to MHI device ID struct
- * @chan_name: Name of the channel to which the device binds
+ * @name: Name of the associated MHI device
  * @mhi_cntrl: Controller the device belongs to
  * @ul_chan: UL channel for the device
  * @dl_chan: DL channel for the device
@@ -453,7 +453,7 @@ struct mhi_controller {
  */
 struct mhi_device {
        const struct mhi_device_id *id;
-       const char *chan_name;
+       const char *name;
        struct mhi_controller *mhi_cntrl;
        struct mhi_chan *ul_chan;
        struct mhi_chan *dl_chan;