1 | // SPDX-License-Identifier: GPL-2.0 |
2 | #include <linux/utsname.h> |
3 | #include <net/cfg80211.h> |
4 | #include "core.h" |
5 | #include "rdev-ops.h" |
6 | |
7 | void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) |
8 | { |
9 | struct wireless_dev *wdev = dev->ieee80211_ptr; |
10 | struct device *pdev = wiphy_dev(wiphy: wdev->wiphy); |
11 | |
12 | if (pdev->driver) |
13 | strscpy(p: info->driver, q: pdev->driver->name, |
14 | size: sizeof(info->driver)); |
15 | else |
16 | strscpy(p: info->driver, q: "N/A" , size: sizeof(info->driver)); |
17 | |
18 | strscpy(p: info->version, q: init_utsname()->release, size: sizeof(info->version)); |
19 | |
20 | if (wdev->wiphy->fw_version[0]) |
21 | strscpy(p: info->fw_version, q: wdev->wiphy->fw_version, |
22 | size: sizeof(info->fw_version)); |
23 | else |
24 | strscpy(p: info->fw_version, q: "N/A" , size: sizeof(info->fw_version)); |
25 | |
26 | strscpy(p: info->bus_info, q: dev_name(dev: wiphy_dev(wiphy: wdev->wiphy)), |
27 | size: sizeof(info->bus_info)); |
28 | } |
29 | EXPORT_SYMBOL(cfg80211_get_drvinfo); |
30 | |