Re: [PATCH] bus: mhi: core: Indexed MHI controller name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/25/2020 8:42 AM, Jeffrey Hugo wrote:
On 11/25/2020 8:43 AM, Loic Poulain wrote:
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
...

Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx>


How does this change /sys/bus/mhi/devices/ ?

The point of having the bus name in the mhi device name is to give an easy way to correlate those devices back to the "root" device (I have a lot of users which do that).

Also, do we actually have some device that actually exposes multiple MHI interfaces?



Looking at the code change itself, looks like the controller index is essentially random, and not persistent. Is that expected?

I'm thinking it might be confusing if you have say 12 MHI controllers from 12 different devices, and some of those devices crash at roughly the same time. The controllers get removed, and re-initialized, which means that you have essentially a race condition where the controller for the same device now has a different index.

--
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux