linux/net/wireless/ethtool.c
<<
>>
Prefs
   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
   7void 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(wdev->wiphy);
  11
  12        if (pdev->driver)
  13                strlcpy(info->driver, pdev->driver->name,
  14                        sizeof(info->driver));
  15        else
  16                strlcpy(info->driver, "N/A", sizeof(info->driver));
  17
  18        strlcpy(info->version, init_utsname()->release, sizeof(info->version));
  19
  20        if (wdev->wiphy->fw_version[0])
  21                strlcpy(info->fw_version, wdev->wiphy->fw_version,
  22                        sizeof(info->fw_version));
  23        else
  24                strlcpy(info->fw_version, "N/A", sizeof(info->fw_version));
  25
  26        strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)),
  27                sizeof(info->bus_info));
  28}
  29EXPORT_SYMBOL(cfg80211_get_drvinfo);
  30