wireless: implement basic ethtool support for cfg80211 devices
[linux-2.6.git] / net / wireless / ethtool.c
1 #include <linux/utsname.h>
2 #include <net/cfg80211.h>
3 #include "ethtool.h"
4
5 static void cfg80211_get_drvinfo(struct net_device *dev,
6                                         struct ethtool_drvinfo *info)
7 {
8         struct wireless_dev *wdev = dev->ieee80211_ptr;
9
10         strlcpy(info->driver, wiphy_dev(wdev->wiphy)->driver->name,
11                 sizeof(info->driver));
12
13         strlcpy(info->version, init_utsname()->release, sizeof(info->version));
14
15         strlcpy(info->fw_version, "N/A", sizeof(info->fw_version));
16
17         strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)),
18                 sizeof(info->bus_info));
19 }
20
21 const struct ethtool_ops cfg80211_ethtool_ops = {
22         .get_drvinfo = cfg80211_get_drvinfo,
23         .get_link = ethtool_op_get_link,
24 };