Branch data Line data Source code
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 : 0 : void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) 8 : : { 9 : 0 : struct wireless_dev *wdev = dev->ieee80211_ptr; 10 : 0 : struct device *pdev = wiphy_dev(wdev->wiphy); 11 : : 12 : 0 : if (pdev->driver) 13 : 0 : strlcpy(info->driver, pdev->driver->name, 14 : : sizeof(info->driver)); 15 : : else 16 : 0 : strlcpy(info->driver, "N/A", sizeof(info->driver)); 17 : : 18 : 0 : strlcpy(info->version, init_utsname()->release, sizeof(info->version)); 19 : : 20 : 0 : if (wdev->wiphy->fw_version[0]) 21 : 0 : strlcpy(info->fw_version, wdev->wiphy->fw_version, 22 : : sizeof(info->fw_version)); 23 : : else 24 : 0 : strlcpy(info->fw_version, "N/A", sizeof(info->fw_version)); 25 : : 26 : 0 : strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)), 27 : : sizeof(info->bus_info)); 28 : 0 : } 29 : : EXPORT_SYMBOL(cfg80211_get_drvinfo);