// SPDX-License-Identifier: GPL-2.0-only/* * This is the linux wireless configuration interface. * * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright 2015-2017 Intel Deutschland GmbH * Copyright (C) 2018 Intel Corporation */#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt#include<linux/if.h>#include<linux/module.h>#include<linux/err.h>#include<linux/list.h>#include<linux/slab.h>#include<linux/nl80211.h>#include<linux/debugfs.h>#include<linux/notifier.h>#include<linux/device.h>#include<linux/etherdevice.h>#include<linux/rtnetlink.h>#include<linux/sched.h>#include<net/genetlink.h>#include<net/cfg80211.h>#include"nl80211.h"#include"core.h"#include"sysfs.h"#include"debugfs.h"#include"wext-compat.h"#include"rdev-ops.h"/* name for sysfs, %d is appended */#define PHY_NAME "phy"MODULE_AUTHOR("Johannes Berg");MODULE_LICENSE("GPL");MODULE_DESCRIPTION("wireless configuration support");MODULE_ALIAS_GENL_FAMILY(NL80211_GENL_NAME);/* RCU-protected (and RTNL for writers) */LIST_HEAD(cfg80211_rdev_list);intcfg80211_rdev_list_generation;/* for debugfs */staticstructdentry*ieee80211_debugfs_dir;/* for the cleanup, scan and event works */structworkqueue_struct*cfg80211_wq;staticboolcfg80211_disable_40mhz_24ghz;