[v4,5/9] bus: mhi: core: Use generic name field for an MHI device

Message ID 1593448782-8385-6-git-send-email-bbhatt@codeaurora.org
State New
Headers show
Series
  • Introduce features and debugfs/sysfs entries for MHI
Related show

Commit Message

Bhaumik Bhatt June 29, 2020, 4:39 p.m.
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.

Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 drivers/bus/mhi/core/init.c | 5 +++--
 drivers/bus/mhi/core/main.c | 6 +++---
 include/linux/mhi.h         | 8 ++++----
 3 files changed, 10 insertions(+), 9 deletions(-)

Comments

Manivannan Sadhasivam July 4, 2020, 3:08 p.m. | #1
On Mon, Jun 29, 2020 at 09:39:38AM -0700, Bhaumik Bhatt wrote:
> 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.

> 

> Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>

> Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>


Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>


Thanks,
Mani

> ---

>  drivers/bus/mhi/core/init.c | 5 +++--

>  drivers/bus/mhi/core/main.c | 6 +++---

>  include/linux/mhi.h         | 8 ++++----

>  3 files changed, 10 insertions(+), 9 deletions(-)

> 

> diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c

> index e43a190..e2011ec 100644

> --- a/drivers/bus/mhi/core/init.c

> +++ b/drivers/bus/mhi/core/init.c

> @@ -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;

>  		}

> diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c

> index 8d6ec34..3af0ce6 100644

> --- a/drivers/bus/mhi/core/main.c

> +++ b/drivers/bus/mhi/core/main.c

> @@ -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)

> diff --git a/include/linux/mhi.h b/include/linux/mhi.h

> index b008914..7ed785e 100644

> --- a/include/linux/mhi.h

> +++ b/include/linux/mhi.h

> @@ -436,10 +436,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

> @@ -451,7 +451,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;

> -- 

> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,

> a Linux Foundation Collaborative Project

>

Patch

diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c
index e43a190..e2011ec 100644
--- a/drivers/bus/mhi/core/init.c
+++ b/drivers/bus/mhi/core/init.c
@@ -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;
 		}
diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
index 8d6ec34..3af0ce6 100644
--- a/drivers/bus/mhi/core/main.c
+++ b/drivers/bus/mhi/core/main.c
@@ -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)
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index b008914..7ed785e 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -436,10 +436,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
@@ -451,7 +451,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;