net: wwan: core: Add WWAN device index sysfs attribute
authorLoic Poulain <loic.poulain@linaro.org>
Tue, 25 May 2021 16:31:18 +0000 (18:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 May 2021 22:51:37 +0000 (15:51 -0700)
Add index sysfs attribute for WWAN devices. This index is used to
uniquely indentify and reference a WWAN device. 'index' is the
attribute name that other device classes use (wireless, v4l2-dev,
rfkill, etc...).

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wwan/wwan_core.c

index 92a8a6f..6e8f19c 100644 (file)
@@ -63,6 +63,20 @@ struct wwan_port {
        wait_queue_head_t waitqueue;
 };
 
+static ssize_t index_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+       struct wwan_device *wwan = to_wwan_dev(dev);
+
+       return sprintf(buf, "%d\n", wwan->id);
+}
+static DEVICE_ATTR_RO(index);
+
+static struct attribute *wwan_dev_attrs[] = {
+       &dev_attr_index.attr,
+       NULL,
+};
+ATTRIBUTE_GROUPS(wwan_dev);
+
 static void wwan_dev_destroy(struct device *dev)
 {
        struct wwan_device *wwandev = to_wwan_dev(dev);
@@ -74,6 +88,7 @@ static void wwan_dev_destroy(struct device *dev)
 static const struct device_type wwan_dev_type = {
        .name    = "wwan_dev",
        .release = wwan_dev_destroy,
+       .groups = wwan_dev_groups,
 };
 
 static int wwan_dev_parent_match(struct device *dev, const void *parent)