bus: mhi: core: Indexed MHI controller name
authorLoic Poulain <loic.poulain@linaro.org>
Thu, 26 Nov 2020 10:20:35 +0000 (11:20 +0100)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Sat, 28 Nov 2020 06:25:24 +0000 (11:55 +0530)
commit206e7383b34316cf56cdde96eab9d97e9a1dbd70
tree580cc45a650cc42946a08b5f01320b8e22ac414f
parent7b7e4cee0299eddd73ea3874fa485a545a0ec2bc
bus: mhi: core: Indexed MHI controller name

Today the MHI controller name is simply cloned from the underlying
bus device (its parent), that gives the following device structure
for e.g. a MHI/PCI controller:
devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:02:00.0
devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:02:00.0/0000:02:00.0_IPCR
...

That's quite misleading/confusing and can cause device registering
issues because of duplicate dev name (e.g. if a PCI device register
two different MHI instances).

This patch changes MHI core to create indexed mhi controller names
(mhi0, mhi1...) in the same way as other busses (i2c0, usb0...).

The previous example becomes:
devices/pci0000:00/0000:00:01.2/0000:02:00.0/mhi0
devices/pci0000:00/0000:00:01.2/0000:02:00.0/mhi0/mhi0_IPCR
...
 v2: move index field at the end of mhi_controller struct (before bool)
     to avoid breaking well packed alignment.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/core/init.c
drivers/bus/mhi/core/main.c
include/linux/mhi.h