Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: carl.yin@quectel.com
To: manivannan.sadhasivam@linaro.org, hemantk@codeaurora.org,
	sfr@canb.auug.org.au
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	carl.yin@quectel.com, naveen.kumar@quectel.com
Subject: [PATCH] bus: mhi: core: Introduce sysfs ul chan id for mhi chan device
Date: Tue, 27 Oct 2020 17:43:04 +0800	[thread overview]
Message-ID: <20201027094304.23025-1-carl.yin@quectel.com> (raw)

From: "carl.yin" <carl.yin@quectel.com>

User space software like ModemManager can identify the function
of the mhi chan device by ul_chan_id.

Signed-off-by: carl.yin <carl.yin@quectel.com>
---
 Documentation/ABI/stable/sysfs-bus-mhi | 10 ++++++++++
 drivers/bus/mhi/core/init.c            | 15 +++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/Documentation/ABI/stable/sysfs-bus-mhi b/Documentation/ABI/stable/sysfs-bus-mhi
index ecfe766..6d52768 100644
--- a/Documentation/ABI/stable/sysfs-bus-mhi
+++ b/Documentation/ABI/stable/sysfs-bus-mhi
@@ -19,3 +19,13 @@ Description:	The file holds the OEM PK Hash value of the endpoint device
 		read without having the device power on at least once, the file
 		will read all 0's.
 Users:		Any userspace application or clients interested in device info.
+
+What:		/sys/bus/mhi/devices/.../ul_chan_id
+Date:		November 2020
+KernelVersion:	5.10
+Contact:	Carl Yin <carl.yin@quectel.com>
+Description:	The file holds the uplink chan id of the mhi chan device.
+		User space software like ModemManager can identify the function of
+		the mhi chan device. If the mhi device is not a chan device,
+		eg mhi controller device, the file read -1.
+Users:		Any userspace application or clients interested in device info.
diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c
index c6b43e9..ac4aa5c 100644
--- a/drivers/bus/mhi/core/init.c
+++ b/drivers/bus/mhi/core/init.c
@@ -105,9 +105,24 @@ static ssize_t oem_pk_hash_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(oem_pk_hash);
 
+static ssize_t ul_chan_id_show(struct device *dev,
+				struct device_attribute *attr,
+				char *buf)
+{
+	struct mhi_device *mhi_dev = to_mhi_device(dev);
+	int ul_chan_id = -1;
+
+	if (mhi_dev->ul_chan)
+		ul_chan_id = mhi_dev->ul_chan_id;
+
+	return snprintf(buf, PAGE_SIZE, "%d\n", ul_chan_id);
+}
+static DEVICE_ATTR_RO(ul_chan_id);
+
 static struct attribute *mhi_dev_attrs[] = {
 	&dev_attr_serial_number.attr,
 	&dev_attr_oem_pk_hash.attr,
+	&dev_attr_ul_chan_id.attr,
 	NULL,
 };
 ATTRIBUTE_GROUPS(mhi_dev);
-- 
2.25.1


             reply	other threads:[~2020-10-27  9:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-27  9:43 carl.yin [this message]
2020-10-27 15:06 ` [PATCH] bus: mhi: core: Introduce sysfs ul chan id for mhi chan device Jeffrey Hugo
2020-10-27 22:43   ` Hemant Kumar
2020-10-28  1:18     ` 答复: " Carl Yin(殷张成)
2020-10-28 14:17       ` Jeffrey Hugo
2020-10-29  1:33         ` 答复: " Carl Yin(殷张成)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201027094304.23025-1-carl.yin@quectel.com \
    --to=carl.yin@quectel.com \
    --cc=hemantk@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=naveen.kumar@quectel.com \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox