On Thu, Apr 19, 2012 at 3:53 PM, Anisse Astier <anisse@xxxxxxxxx> wrote: > RFCSR is only used in rt2800. For other chipsets, the debug struct > for rfcsr should be zeroed, which isn't be an issue, since the code > can now cope with that. > > Signed-off-by: Anisse Astier <anisse@xxxxxxxxx> Acked-by: Ivo van Doorn <IvDoorn@xxxxxxxxx> > --- > drivers/net/wireless/rt2x00/rt2800.h | 2 ++ > drivers/net/wireless/rt2x00/rt2800lib.c | 7 +++++++ > drivers/net/wireless/rt2x00/rt2x00debug.c | 11 ++++++++++- > drivers/net/wireless/rt2x00/rt2x00debug.h | 1 + > 4 files changed, 20 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h > index d91f4f6..9348521 100644 > --- a/drivers/net/wireless/rt2x00/rt2800.h > +++ b/drivers/net/wireless/rt2x00/rt2800.h > @@ -102,6 +102,8 @@ > #define BBP_SIZE 0x00ff > #define RF_BASE 0x0004 > #define RF_SIZE 0x0010 > +#define RFCSR_BASE 0x0000 > +#define RFCSR_SIZE 0x0040 > > /* > * Number of TX queues. > diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c > index 6c95101..0cdbf2b 100644 > --- a/drivers/net/wireless/rt2x00/rt2800lib.c > +++ b/drivers/net/wireless/rt2x00/rt2800lib.c > @@ -836,6 +836,13 @@ const struct rt2x00debug rt2800_rt2x00debug = { > .word_size = sizeof(u32), > .word_count = RF_SIZE / sizeof(u32), > }, > + .rfcsr = { > + .read = rt2800_rfcsr_read, > + .write = rt2800_rfcsr_write, > + .word_base = RFCSR_BASE, > + .word_size = sizeof(u8), > + .word_count = RFCSR_SIZE / sizeof(u8), > + }, > }; > EXPORT_SYMBOL_GPL(rt2800_rt2x00debug); > #endif /* CONFIG_RT2X00_LIB_DEBUGFS */ > diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c > index ac898c4..74f6ed5 100644 > --- a/drivers/net/wireless/rt2x00/rt2x00debug.c > +++ b/drivers/net/wireless/rt2x00/rt2x00debug.c > @@ -70,6 +70,7 @@ struct rt2x00debug_intf { > * - eeprom offset/value files > * - bbp offset/value files > * - rf offset/value files > + * - rfcsr offset/value files > * - queue folder > * - frame dump file > * - queue stats file > @@ -89,6 +90,8 @@ struct rt2x00debug_intf { > struct dentry *bbp_val_entry; > struct dentry *rf_off_entry; > struct dentry *rf_val_entry; > + struct dentry *rfcsr_off_entry; > + struct dentry *rfcsr_val_entry; > struct dentry *queue_folder; > struct dentry *queue_frame_dump_entry; > struct dentry *queue_stats_entry; > @@ -131,6 +134,7 @@ struct rt2x00debug_intf { > unsigned int offset_eeprom; > unsigned int offset_bbp; > unsigned int offset_rf; > + unsigned int offset_rfcsr; > }; > > void rt2x00debug_update_crypto(struct rt2x00_dev *rt2x00dev, > @@ -525,6 +529,7 @@ RT2X00DEBUGFS_OPS(csr, "0x%.8x\n", u32); > RT2X00DEBUGFS_OPS(eeprom, "0x%.4x\n", u16); > RT2X00DEBUGFS_OPS(bbp, "0x%.2x\n", u8); > RT2X00DEBUGFS_OPS(rf, "0x%.8x\n", u32); > +RT2X00DEBUGFS_OPS(rfcsr, "0x%.2x\n", u8); > > static ssize_t rt2x00debug_read_dev_flags(struct file *file, > char __user *buf, > @@ -614,7 +619,7 @@ static struct dentry *rt2x00debug_create_file_chipset(const char *name, > const struct rt2x00debug *debug = intf->debug; > char *data; > > - data = kzalloc(8 * MAX_LINE_LENGTH, GFP_KERNEL); > + data = kzalloc(9 * MAX_LINE_LENGTH, GFP_KERNEL); > if (!data) > return NULL; > > @@ -637,6 +642,7 @@ static struct dentry *rt2x00debug_create_file_chipset(const char *name, > RT2X00DEBUGFS_SPRINTF_REGISTER(eeprom); > RT2X00DEBUGFS_SPRINTF_REGISTER(bbp); > RT2X00DEBUGFS_SPRINTF_REGISTER(rf); > + RT2X00DEBUGFS_SPRINTF_REGISTER(rfcsr); > #undef RT2X00DEBUGFS_SPRINTF_REGISTER > > blob->size = strlen(blob->data); > @@ -722,6 +728,7 @@ void rt2x00debug_register(struct rt2x00_dev *rt2x00dev) > RT2X00DEBUGFS_CREATE_REGISTER_ENTRY(intf, eeprom); > RT2X00DEBUGFS_CREATE_REGISTER_ENTRY(intf, bbp); > RT2X00DEBUGFS_CREATE_REGISTER_ENTRY(intf, rf); > + RT2X00DEBUGFS_CREATE_REGISTER_ENTRY(intf, rfcsr); > > #undef RT2X00DEBUGFS_CREATE_REGISTER_ENTRY > > @@ -773,6 +780,8 @@ void rt2x00debug_deregister(struct rt2x00_dev *rt2x00dev) > debugfs_remove(intf->queue_stats_entry); > debugfs_remove(intf->queue_frame_dump_entry); > debugfs_remove(intf->queue_folder); > + debugfs_remove(intf->rfcsr_val_entry); > + debugfs_remove(intf->rfcsr_off_entry); > debugfs_remove(intf->rf_val_entry); > debugfs_remove(intf->rf_off_entry); > debugfs_remove(intf->bbp_val_entry); > diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.h b/drivers/net/wireless/rt2x00/rt2x00debug.h > index fa11409..e11d39b 100644 > --- a/drivers/net/wireless/rt2x00/rt2x00debug.h > +++ b/drivers/net/wireless/rt2x00/rt2x00debug.h > @@ -65,6 +65,7 @@ struct rt2x00debug { > RT2X00DEBUGFS_REGISTER_ENTRY(eeprom, u16); > RT2X00DEBUGFS_REGISTER_ENTRY(bbp, u8); > RT2X00DEBUGFS_REGISTER_ENTRY(rf, u32); > + RT2X00DEBUGFS_REGISTER_ENTRY(rfcsr, u8); > }; > > #endif /* RT2X00DEBUG_H */ > -- > 1.7.9.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html