forked from luck/tmp_suning_uos_patched
bus: mhi: core: Use generic name field for an MHI device
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>
This commit is contained in:
parent
870f81bd28
commit
5aa93f0576
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user