[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1366236369-543-1-git-send-email-bzhao@marvell.com>
Date: Wed, 17 Apr 2013 15:06:09 -0700
From: Bing Zhao <bzhao@...vell.com>
To: <linux-netdev@...r.kernel.org>, <linux-wireless@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
CC: Paul Stewart <pstew@...omium.org>, Bing Zhao <bzhao@...vell.com>
Subject: [PATCH] net-sysfs: Add entry for nl80211 interface type
Add a "wireless/nl80211_iftype" entry in the net device sysfs
file structure to indicate the mode of the wireless device so
it can be discovered easily from userspace.
Signed-off-by: Paul Stewart <pstew@...omium.org>
Signed-off-by: Bing Zhao <bzhao@...vell.com>
---
net/core/net-sysfs.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index 7427ab5..454bd7f 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -17,6 +17,7 @@
#include <linux/nsproxy.h>
#include <net/sock.h>
#include <net/net_namespace.h>
+#include <net/cfg80211.h>
#include <linux/rtnetlink.h>
#include <linux/vmalloc.h>
#include <linux/export.h>
@@ -448,7 +449,24 @@ static struct attribute_group netstat_group = {
};
#if IS_ENABLED(CONFIG_WIRELESS_EXT) || IS_ENABLED(CONFIG_CFG80211)
+static ssize_t show_nl80211_iftype(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ const struct net_device *netdev = to_net_dev(dev);
+ ssize_t ret = 0;
+
+ if (!rtnl_trylock())
+ return restart_syscall();
+ if (netdev->ieee80211_ptr)
+ ret = sprintf(buf, "%d\n", netdev->ieee80211_ptr->iftype);
+ rtnl_unlock();
+
+ return ret;
+}
+static DEVICE_ATTR(nl80211_iftype, S_IRUGO, show_nl80211_iftype, NULL);
+
static struct attribute *wireless_attrs[] = {
+ &dev_attr_nl80211_iftype.attr,
NULL
};
--
1.7.0.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists