1 // SPDX-License-Identifier: GPL-2.0 << 2 #include <linux/utsname.h> 1 #include <linux/utsname.h> 3 #include <net/cfg80211.h> 2 #include <net/cfg80211.h> 4 #include "core.h" 3 #include "core.h" 5 #include "rdev-ops.h" 4 #include "rdev-ops.h" 6 5 7 void cfg80211_get_drvinfo(struct net_device *d 6 void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) 8 { 7 { 9 struct wireless_dev *wdev = dev->ieee8 8 struct wireless_dev *wdev = dev->ieee80211_ptr; 10 struct device *pdev = wiphy_dev(wdev-> << 11 9 12 if (pdev->driver) !! 10 strlcpy(info->driver, wiphy_dev(wdev->wiphy)->driver->name, 13 strscpy(info->driver, pdev->dr !! 11 sizeof(info->driver)); 14 sizeof(info->driver)); << 15 else << 16 strscpy(info->driver, "N/A", s << 17 12 18 strscpy(info->version, init_utsname()- !! 13 strlcpy(info->version, init_utsname()->release, sizeof(info->version)); 19 14 20 if (wdev->wiphy->fw_version[0]) 15 if (wdev->wiphy->fw_version[0]) 21 strscpy(info->fw_version, wdev !! 16 strlcpy(info->fw_version, wdev->wiphy->fw_version, 22 sizeof(info->fw_versio 17 sizeof(info->fw_version)); 23 else 18 else 24 strscpy(info->fw_version, "N/A !! 19 strlcpy(info->fw_version, "N/A", sizeof(info->fw_version)); 25 20 26 strscpy(info->bus_info, dev_name(wiphy !! 21 strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)), 27 sizeof(info->bus_info)); 22 sizeof(info->bus_info)); 28 } 23 } 29 EXPORT_SYMBOL(cfg80211_get_drvinfo); 24 EXPORT_SYMBOL(cfg80211_get_drvinfo); 30 25
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.