Re: [announce] new rt2800 drivers for Ralink wireless & project tree

Gertjan van Wingerde
2009-11-03T21:01:20Z

Hi,

On 11/03/09 19:51, Bartlomiej Zolnierkiewicz wrote:
>
> Hi,
>
> The following patch series (against wireless-next) addresses issues raised
> during code review and subsequently rejected by rt2x00/wireless/networking
> maintainers.
>

This seems to be a misrepresentation of the situation. The issues raised by
you were acknowledged as being valid, however they were not deemed important
enough to stop inclusion in wireless-next and net-next.

However, it is good to see that you have put effort in providing a patch series
for these issues.

Now, since I believe that it is better to work with people, rather than against
them, would it be possible to post this patch series somewhere as a set of
separate patches, so that they can be reviewed as such?

---
Gertjan
rt2x00 project developer

>
> Namely, it:
>
> - Adds abstraction of chipset register access for chipsets connected to
> different buses by using new structure (struct rt2800_ops) which contains
> all needed register access methods.
>
> [ It is a prerequisite for fixing code duplication between rt2800usb.c
> and rt2800pci.c drivers. ]
>
> - Fixes code duplication in rt2800usb.h and rt2800pci.h header files by
> using new shared rt2800.h header (almost 1800 LOC gone).
>
> Updated debugging scripts are located here:
>
> http://www.kernel.org/pub/linux/kernel/people/bart/rt2800/scripts/
>
> (they also work fine with older drivers)
>
> - Adds rt2800 library containing common code for PCI and USB versions
> of rt2800 chipsets. This removes over 1300 LOC and allows us to save
> a lot of maintenance burden in the future.
>
>
> It also fixes two real bugs (one in rt2800pci and one in rt2800usb) found
> as a direct result of the code de-duplication:
>
> - Fix rt2800usb driver to write the rfcsr read request into RF_CSR_CFG
> register and not BBP_CSR_CFG one in rt2800usb_rfcsr_read().
>
> - Use the correct encryption key index for TX frames in rt2800pci (this is
> based on rt2800usb patch from Benoit PAPILLAULT already in Linus' tree,
> unfortunately the fix was not ported over to rt2800pci).
>
> [ There are also some minor code rt2x00 infrastructure fixes and improvements
> here and there... ]
>
>
> All in all over 3100 LOC are gone and rt2800pci specific code is:
>
> 1685 drivers/net/wireless/rt2x00/rt2800pci.c
> 180 drivers/net/wireless/rt2x00/rt2800pci.h
> 1865 total
>
> instead of:
>
> 3323 drivers/net/wireless/rt2x00/rt2800pci.c
> 1960 drivers/net/wireless/rt2x00/rt2800pci.h
> 5283 total
>
> (wireless-next and net-next trees)
>
> which means decrease of the code needed for rt2800pci by 65% (this in turn
> translates to 31% decrease for rt2800 specific code and 9% for whole rt2x00
> infrastructure).
>
> The rewrite was quite conservative and there is still a room for improvement
> but it should serve as a good starting base for all future work on rt2800
> drivers, and there is a lot to do there (both drivers are still practically
> non-functional).
>
> Comments and patches are welcomed.
>
>
> The following changes since commit fa867e7355a1bdcd9bf7d55ebe9296f5b9c4028a:
> Juuso Oikarinen (1):
> wl1271: Generalize command response reading
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/bart/misc.git rt2800
>
> Bartlomiej Zolnierkiewicz (40):
> rt2800usb: fix rt2800usb_rfcsr_read()
> rt2800pci: fix crypto in TX frame
> rt2800pci: fix comment about register access
> rt2800pci: fix comment about IV/EIV fields
> rt2x00: fix rt2x00usb_register_read() comment
> rt2800usb: use rt2x00usb_register_multiwrite() to set key entries
> rt2800usb: add rt2800_register_[read,write]() wrappers
> rt2800pci: add rt2800_register_[read,write]() wrappers
> rt2800usb: add rt2800_register_multi[read,write]() wrappers
> rt2800pci: add rt2800_register_multi[read,write]() wrappers
> rt2800usb: add rt2800_regbusy_read() wrapper
> rt2800pci: add rt2800_regbusy_read() wrapper
> rt2800usb: add rt2800_bbp_[read,write]() wrappers
> rt2800pci: add rt2800_bbp_[read,write]() wrappers
> rt2800usb: add rt2800_rfcsr_[read,write]() wrappers
> rt2800pci: add rt2800_rfcsr_[read,write]() wrappers
> rt2800usb: add rt2800_rf_[read,write]() wrappers
> rt2800pci: add rt2800_rf_[read,write]() wrappers
> rt2800usb: add rt2800_mcu_request() wrapper
> rt2800pci: add rt2800_mcu_request() wrapper
> rt2x00: add driver private field to struct rt2x00_dev
> rt2800usb: convert to use struct rt2800_ops methods
> rt2800pci: convert to use struct rt2800_ops methods
> rt2x00: fix rt2x00usb_register_multiwrite() arguments
> rt2x00: fix rt2x00usb_regbusy_read() arguments
> rt2x00: fix rt2x00pci_register_multi[read,write]() arguments
> rt2800: add rt2800lib.h
> rt2800usb: fix comments in rt2800usb.h
> rt2800usb: add RXINFO_DESC_SIZE definition
> rt2800: fix duplication in header files
> rt2800: fix comments in rt2800.h
> rt2x00: add support for different chipset interfaces
> rt2800: prepare for rt2800lib addition
> rt2800: add rt2800lib (part one)
> rt2x00: remove needless ifdefs from rt2x00leds.h
> rt2800: add rt2800lib (part two)
> rt2x00: move REGISTER_BUSY_* definitions to rt2x00.h
> rt2800: add rt2800lib (part three)
> rt2800: add rt2800lib (part four)
> MAINTAINERS: add rt2800 entry
>
> MAINTAINERS | 7 +
> drivers/net/wireless/rt2x00/Kconfig | 5 +
> drivers/net/wireless/rt2x00/Makefile | 1 +
> drivers/net/wireless/rt2x00/rt2800.h | 1816 ++++++++++++++++++++++++++++
> drivers/net/wireless/rt2x00/rt2800lib.c | 1817 ++++++++++++++++++++++++++++
> drivers/net/wireless/rt2x00/rt2800lib.h | 134 +++
> drivers/net/wireless/rt2x00/rt2800pci.c | 1908 +++---------------------------
> drivers/net/wireless/rt2x00/rt2800pci.h | 1780 ----------------------------
> drivers/net/wireless/rt2x00/rt2800usb.c | 1828 ++---------------------------
> drivers/net/wireless/rt2x00/rt2800usb.h | 1818 +----------------------------
> drivers/net/wireless/rt2x00/rt2x00.h | 33 +
> drivers/net/wireless/rt2x00/rt2x00leds.h | 4 -
> drivers/net/wireless/rt2x00/rt2x00pci.h | 24 +-
> drivers/net/wireless/rt2x00/rt2x00usb.c | 2 +-
> drivers/net/wireless/rt2x00/rt2x00usb.h | 17 +-
> 15 files changed, 4036 insertions(+), 7158 deletions(-)
> create mode 100644 drivers/net/wireless/rt2x00/rt2800.h
> create mode 100644 drivers/net/wireless/rt2x00/rt2800lib.c
> create mode 100644 drivers/net/wireless/rt2x00/rt2800lib.h
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>