Search Linux Wireless

Re: [PATCH v3 2/2] rt2x00: Add debugfs access for rfcsr register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux