Commit 6987c5b5 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau
Browse files

mt76x0: use shared debugfs implementation



Use mt76 shared debugfs implementation and remove duplicated code
in mt76x0 driver

Signed-off-by: default avatarLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent f2a2e819
Loading
Loading
Loading
Loading
+1 −79
Original line number Diff line number Diff line
@@ -18,26 +18,6 @@
#include "mt76x0.h"
#include "eeprom.h"

static int
mt76_reg_set(void *data, u64 val)
{
	struct mt76x0_dev *dev = data;

	mt76_wr(dev, dev->debugfs_reg, val);
	return 0;
}

static int
mt76_reg_get(void *data, u64 *val)
{
	struct mt76x0_dev *dev = data;

	*val = mt76_rr(dev, dev->debugfs_reg);
	return 0;
}

DEFINE_SIMPLE_ATTRIBUTE(fops_regval, mt76_reg_get, mt76_reg_set, "0x%08llx\n");

static int
mt76x0_ampdu_stat_read(struct seq_file *file, void *data)
{
@@ -95,71 +75,13 @@ static const struct file_operations fops_ampdu_stat = {
	.release = single_release,
};

static int
mt76x0_eeprom_param_read(struct seq_file *file, void *data)
{
	struct mt76x0_dev *dev = file->private;
	u16 val;

	seq_printf(file, "RF freq offset: %hhx\n",
		   dev->caldata.freq_offset);
	seq_printf(file, "RSSI offset: %hhx %hhx\n",
		   dev->caldata.rssi_offset[0], dev->caldata.rssi_offset[1]);
	seq_printf(file, "Temperature offset: %hhx\n",
		   dev->caldata.temp_offset);
	seq_printf(file, "LNA gain: %x\n", dev->caldata.lna_gain);

	val = mt76x02_eeprom_get(&dev->mt76, MT_EE_NIC_CONF_0);
	seq_printf(file, "Power Amplifier type %lx\n",
		   val & MT_EE_NIC_CONF_0_PA_TYPE);

	return 0;
}

static int
mt76x0_eeprom_param_open(struct inode *inode, struct file *f)
{
	return single_open(f, mt76x0_eeprom_param_read, inode->i_private);
}

static const struct file_operations fops_eeprom_param = {
	.open = mt76x0_eeprom_param_open,
	.read = seq_read,
	.llseek = seq_lseek,
	.release = single_release,
};

static int mt76x0_read_txpower(struct seq_file *file, void *data)
{
	struct mt76x0_dev *dev = dev_get_drvdata(file->private);

	mt76_seq_puts_array(file, "CCK", dev->mt76.rate_power.cck,
			    ARRAY_SIZE(dev->mt76.rate_power.cck));
	mt76_seq_puts_array(file, "OFDM", dev->mt76.rate_power.ofdm,
			    ARRAY_SIZE(dev->mt76.rate_power.ofdm));
	mt76_seq_puts_array(file, "STBC", dev->mt76.rate_power.stbc,
			    ARRAY_SIZE(dev->mt76.rate_power.stbc));
	mt76_seq_puts_array(file, "HT", dev->mt76.rate_power.ht,
			    ARRAY_SIZE(dev->mt76.rate_power.ht));
	mt76_seq_puts_array(file, "VHT", dev->mt76.rate_power.vht,
			    ARRAY_SIZE(dev->mt76.rate_power.vht));
	return 0;
}

void mt76x0_init_debugfs(struct mt76x0_dev *dev)
{
	struct dentry *dir;

	dir = debugfs_create_dir("mt76x0", dev->mt76.hw->wiphy->debugfsdir);
	dir = mt76_register_debugfs(&dev->mt76);
	if (!dir)
		return;

	debugfs_create_u32("regidx", S_IRUSR | S_IWUSR, dir, &dev->debugfs_reg);
	debugfs_create_file("regval", S_IRUSR | S_IWUSR, dir, dev,
			    &fops_regval);
	debugfs_create_file("ampdu_stat", S_IRUSR, dir, dev, &fops_ampdu_stat);
	debugfs_create_file("eeprom_param", S_IRUSR, dir, dev,
			    &fops_eeprom_param);
	debugfs_create_devm_seqfile(dev->mt76.dev, "txpower", dir,
				    mt76x0_read_txpower);
}
+0 −2
Original line number Diff line number Diff line
@@ -94,8 +94,6 @@ struct mt76x0_dev {
	struct mutex reg_atomic_mutex;
	struct mutex hw_atomic_mutex;

	u32 debugfs_reg;

	atomic_t avg_ampdu_len;

	/* Connection monitoring things */