#include <linux/etherdevice.h>
#include <linux/of.h>
#include <linux/hwmon.h>
#include <linux/hwmon-sysfs.h>
#include <linux/thermal.h>
#include "mt7996.h"
#include "mac.h"
#include "mcu.h"
#include "coredump.h"
#include "eeprom.h"
static const struct ieee80211_iface_limit if_limits[] = …;
static const struct ieee80211_iface_combination if_comb[] = …;
static ssize_t mt7996_thermal_temp_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t mt7996_thermal_temp_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static SENSOR_DEVICE_ATTR_RO(temp1_input, mt7996_thermal_temp, 0);
static SENSOR_DEVICE_ATTR_RW(temp1_crit, mt7996_thermal_temp, 1);
static SENSOR_DEVICE_ATTR_RW(temp1_max, mt7996_thermal_temp, 2);
static SENSOR_DEVICE_ATTR_RO(throttle1, mt7996_thermal_temp, 3);
static struct attribute *mt7996_hwmon_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static int
mt7996_thermal_get_max_throttle_state(struct thermal_cooling_device *cdev,
unsigned long *state)
{ … }
static int
mt7996_thermal_get_cur_throttle_state(struct thermal_cooling_device *cdev,
unsigned long *state)
{ … }
static int
mt7996_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev,
unsigned long state)
{ … }
static const struct thermal_cooling_device_ops mt7996_thermal_ops = …;
static void mt7996_unregister_thermal(struct mt7996_phy *phy)
{ … }
static int mt7996_thermal_init(struct mt7996_phy *phy)
{ … }
static void mt7996_led_set_config(struct led_classdev *led_cdev,
u8 delay_on, u8 delay_off)
{ … }
static int mt7996_led_set_blink(struct led_classdev *led_cdev,
unsigned long *delay_on,
unsigned long *delay_off)
{ … }
static void mt7996_led_set_brightness(struct led_classdev *led_cdev,
enum led_brightness brightness)
{ … }
static void __mt7996_init_txpower(struct mt7996_phy *phy,
struct ieee80211_supported_band *sband)
{ … }
void mt7996_init_txpower(struct mt7996_phy *phy)
{ … }
static void
mt7996_regd_notifier(struct wiphy *wiphy,
struct regulatory_request *request)
{ … }
static void
mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
{ … }
static void
mt7996_mac_init_band(struct mt7996_dev *dev, u8 band)
{ … }
static void mt7996_mac_init_basic_rates(struct mt7996_dev *dev)
{ … }
void mt7996_mac_init(struct mt7996_dev *dev)
{ … }
int mt7996_txbf_init(struct mt7996_dev *dev)
{ … }
static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
enum mt76_band_id band)
{ … }
static void
mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
{ … }
static void mt7996_init_work(struct work_struct *work)
{ … }
void mt7996_wfsys_reset(struct mt7996_dev *dev)
{ … }
static int mt7996_wed_rro_init(struct mt7996_dev *dev)
{ … }
static void mt7996_wed_rro_free(struct mt7996_dev *dev)
{ … }
static void mt7996_wed_rro_work(struct work_struct *work)
{ … }
static int mt7996_init_hardware(struct mt7996_dev *dev)
{ … }
void mt7996_set_stream_vht_txbf_caps(struct mt7996_phy *phy)
{ … }
static void
mt7996_set_stream_he_txbf_caps(struct mt7996_phy *phy,
struct ieee80211_sta_he_cap *he_cap, int vif)
{ … }
static void
mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
struct ieee80211_sband_iftype_data *data,
enum nl80211_iftype iftype)
{ … }
static void
mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
struct ieee80211_sband_iftype_data *data,
enum nl80211_iftype iftype)
{ … }
static void
__mt7996_set_stream_he_eht_caps(struct mt7996_phy *phy,
struct ieee80211_supported_band *sband,
enum nl80211_band band)
{ … }
void mt7996_set_stream_he_eht_caps(struct mt7996_phy *phy)
{ … }
int mt7996_register_device(struct mt7996_dev *dev)
{ … }
void mt7996_unregister_device(struct mt7996_dev *dev)
{ … }