[PATCH 0/2] net: usb: qmi_wwan: new mux_id sysfs file

STALE2030d

Revision v1 of 2 in this series.

5 messages, 3 authors, 2021-01-27 · open the first message on its own page

[PATCH 0/2] net: usb: qmi_wwan: new mux_id sysfs file

From: Daniele Palmas <hidden>
Date: 2021-01-26 19:32:01

Hello,

this patch series add a sysfs file to let userspace know which mux
id has been used to create a qmimux network interface.

I'm aware that adding new sysfs files is not usually the right path,
but my understanding is that this piece of information can't be
retrieved in any other way and its absence restricts how
userspace application (e.g. like libqmi) can take advantage of the
qmimux implementation in qmi_wwan.

Thanks,
Daniele

Daniele Palmas (2):
  net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces
  net: qmi_wwan: document qmap/mux_id sysfs file

 Documentation/ABI/testing/sysfs-class-net-qmi | 10 +++++++
 drivers/net/usb/qmi_wwan.c                    | 27 +++++++++++++++++++
 2 files changed, 37 insertions(+)

-- 
2.17.1

[PATCH net-next 2/2] net: qmi_wwan: document qmap/mux_id sysfs file

From: Daniele Palmas <hidden>
Date: 2021-01-26 05:43:42

Document qmap/mux_id sysfs file showing qmimux interface id

Signed-off-by: Daniele Palmas <redacted>
---
 Documentation/ABI/testing/sysfs-class-net-qmi | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-class-net-qmi b/Documentation/ABI/testing/sysfs-class-net-qmi
index c310db4ccbc2..ed79f5893421 100644
--- a/Documentation/ABI/testing/sysfs-class-net-qmi
+++ b/Documentation/ABI/testing/sysfs-class-net-qmi
@@ -48,3 +48,13 @@ Description:
 
 		Write a number ranging from 1 to 254 to delete a previously
 		created qmap mux based network device.
+
+What:		/sys/class/net/<qmimux iface>/qmap/mux_id
+Date:		January 2021
+KernelVersion:	5.12
+Contact:	Daniele Palmas <dnlplm@gmail.com>
+Description:
+		Unsigned integer
+
+		Indicates the mux id associated to the qmimux network interface
+		during its creation.
-- 
2.17.1

[PATCH net-next 1/2] net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces

From: Daniele Palmas <hidden>
Date: 2021-01-26 19:32:01

Add qmimux interface sysfs file qmap/mux_id to show qmap id set
during the interface creation, in order to provide a method for
userspace to associate QMI control channels to network interfaces.

Signed-off-by: Daniele Palmas <redacted>
---
 drivers/net/usb/qmi_wwan.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 7ea113f51074..9b85e2ed4760 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -218,6 +218,31 @@ static int qmimux_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 	return 1;
 }
 
+static ssize_t mux_id_show(struct device *d, struct device_attribute *attr, char *buf)
+{
+	struct net_device *dev = to_net_dev(d);
+	struct qmimux_priv *priv;
+	ssize_t count = 0;
+
+	priv = netdev_priv(dev);
+	count += scnprintf(&buf[count], PAGE_SIZE - count,
+			   "0x%02x\n", priv->mux_id);
+
+	return count;
+}
+
+static DEVICE_ATTR_RO(mux_id);
+
+static struct attribute *qmi_wwan_sysfs_qmimux_attrs[] = {
+	&dev_attr_mux_id.attr,
+	NULL,
+};
+
+static struct attribute_group qmi_wwan_sysfs_qmimux_attr_group = {
+	.name = "qmap",
+	.attrs = qmi_wwan_sysfs_qmimux_attrs,
+};
+
 static int qmimux_register_device(struct net_device *real_dev, u8 mux_id)
 {
 	struct net_device *new_dev;
@@ -240,6 +265,8 @@ static int qmimux_register_device(struct net_device *real_dev, u8 mux_id)
 		goto out_free_newdev;
 	}
 
+	new_dev->sysfs_groups[0] = &qmi_wwan_sysfs_qmimux_attr_group;
+
 	err = register_netdevice(new_dev);
 	if (err < 0)
 		goto out_free_newdev;
-- 
2.17.1

Re: [PATCH net-next 1/2] net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces

From: Aleksander Morgado <hidden>
Date: 2021-01-26 19:32:01

On Mon, Jan 25, 2021 at 4:23 PM Daniele Palmas [off-list ref] wrote:
Add qmimux interface sysfs file qmap/mux_id to show qmap id set
during the interface creation, in order to provide a method for
userspace to associate QMI control channels to network interfaces.

Signed-off-by: Daniele Palmas <redacted>
Thanks for doing this!

Acked-by: Aleksander Morgado <redacted>

-- 
Aleksander
https://aleksander.es

Re: [PATCH net-next 1/2] net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces

From: Greg KH <hidden>
Date: 2021-01-27 08:16:53

On Mon, Jan 25, 2021 at 04:22:34PM +0100, Daniele Palmas wrote:
quoted hunk
Add qmimux interface sysfs file qmap/mux_id to show qmap id set
during the interface creation, in order to provide a method for
userspace to associate QMI control channels to network interfaces.

Signed-off-by: Daniele Palmas <redacted>
---
 drivers/net/usb/qmi_wwan.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 7ea113f51074..9b85e2ed4760 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -218,6 +218,31 @@ static int qmimux_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 	return 1;
 }
 
+static ssize_t mux_id_show(struct device *d, struct device_attribute *attr, char *buf)
+{
+	struct net_device *dev = to_net_dev(d);
+	struct qmimux_priv *priv;
+	ssize_t count = 0;
+
+	priv = netdev_priv(dev);
+	count += scnprintf(&buf[count], PAGE_SIZE - count,
+			   "0x%02x\n", priv->mux_id);
Odd way to do this, please just use sysfs_emit().  It looks like you
cut/pasted this from some other more complex logic.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help