Re: [PATCH v3 3/4] docs: Add documentation for user space client interface

Hemant Kumar
2020-06-25T01:52:42Z

Hi Mani,

On 6/18/20 11:39 PM, Manivannan Sadhasivam wrote:
> On Thu, Jun 11, 2020 at 11:13:43AM -0700, Hemant Kumar wrote:
>> MHI user space client driver is creating device file node
>> for user application to perform file operations. File
>> operations are handled by MHI core driver. Currently
>> Loopback MHI channel is supported by this driver.
>>
>> Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
>> ---
>> Documentation/mhi/index.rst | 1 +
>> Documentation/mhi/uci.rst | 19 +++++++++++++++++++
>> 2 files changed, 20 insertions(+)
>> create mode 100644 Documentation/mhi/uci.rst
>>
>> diff --git a/Documentation/mhi/index.rst b/Documentation/mhi/index.rst
>> index 1d8dec3..c75a371 100644
>> --- a/Documentation/mhi/index.rst
>> +++ b/Documentation/mhi/index.rst
>> @@ -9,6 +9,7 @@ MHI
>>
>> mhi
>> topology
>> + uci
>>
>> .. only:: subproject and html
>>
>> diff --git a/Documentation/mhi/uci.rst b/Documentation/mhi/uci.rst
>> new file mode 100644
>> index 0000000..a5c5c4f
>> --- /dev/null
>> +++ b/Documentation/mhi/uci.rst
>> @@ -0,0 +1,19 @@
>> +.. SPDX-License-Identifier: GPL-2.0
>> +
>> +=================================
>> +User space Client Interface (UCI)
>
> Stick to 'Userspace' everywhere.
Done.
>
>> +=================================
>> +
>> +UCI driver enables user space clients to communicate to external MHI devices
>> +like modem and WLAN. It creates standard character device file nodes for user
>
> UCI driver creates a single char device, isn't it?
No, it is created per device name. For example Loopback has its own char
device file node. if we add another channel for a new mhi device new
device file node would be created.
>
>> +space clients to perform open, read, write, pool and close file operations.
>> +
>
> poll? Btw, you need to mention explicitly how this char device can be used.
> You are just mentioning standard file operations.
Will fix poll.My idea was indeed to mention generic file operations so
that we dont have to be specific with use case. Any userspace entity who
wants to communicate over mhi can use the driver. Reason we have this
driver is to abstract the mhi core specific details. Even for loopback
use case, userspace can echo to device file node on one channel and get
a same in response from another channel back. I can add more examples of
other user space drivers use case if that helps.
>
>> +Device file node is created with format:-
>> +
>> +/dev/mhi_<controller_name>_<mhi_device_name>
>> +
>> +controller_name is the name of underlying bus used to transfer data.
>
> underlying controller instance.
Done.
>
>> +mhi_device_name is the name of the MHI channel being used by MHI client
>
> What do you mean by MHI client here? Are you referring to userspace client?
yes. i can say "MHI client in userspace"?
>
>> +to send or receive data using MHI protocol. MHI channels are statically
>> +defined by MHI specification. Driver currently supports LOOPBACK channel
>> +index 0 (Host to device) and 1 (Device to Host).
>
> s/index/identifier
Done.
>
> And explain a bit on how this LOOPBACK channel is getting used.
Done.
>
> Thanks,
> Mani
>
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>