Skip to content
Permalink
Browse files
bus: mhi: Add userspace client interface driver
This MHI client driver allows userspace clients to transfer
raw data between MHI device and host using standard file operations.
Driver instantiates uci device object which is associated to device
file node. uci device object instantiates uci channel object when device
file node is opened. uci channel object is used to manage MHI channels
by calling MHI core APIs for read and write operations. MHI channels
are started as part of device open(). MHI channels remain in start
state until last release() is called on uci device file node. Device
file node is created with format

/dev/mhi_<controller_name>_<mhi_device_name>

Currently it supports LOOPBACK channel.

Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
  • Loading branch information
Hemant Kumar authored and intel-lab-lkp committed Oct 17, 2020
1 parent a418b12 commit 6f44d9c0efd29cbd60a4c26843462a573050a520
Show file tree
Hide file tree
Showing 3 changed files with 673 additions and 0 deletions.
@@ -20,3 +20,16 @@ config MHI_BUS_DEBUG
Enable debugfs support for use with the MHI transport. Allows
reading and/or modifying some values within the MHI controller
for debug and test purposes.

config MHI_UCI
tristate "MHI UCI"
depends on MHI_BUS
help
MHI based userspace client interface driver is used for transferring
raw data between host and device using standard file operations from
userspace. Open, read, write, and close operations are supported
by this driver. Please check mhi_uci_match_table for all supported
channels that are exposed to userspace.

To compile this driver as a module, choose M here: the module will be
called mhi_uci.
@@ -1,2 +1,6 @@
# core layer
obj-y += core/

# MHI client
mhi_uci-y := uci.o
obj-$(CONFIG_MHI_UCI) += mhi_uci.o

0 comments on commit 6f44d9c

Please sign in to comment.