[PATCH] [RFC] wireless: move obsolete drivers to staging

Greg Kroah-Hartman gregkh at linuxfoundation.org
Tue Oct 10 23:16:38 PDT 2023


On Wed, Oct 11, 2023 at 08:40:00AM +0300, Kalle Valo wrote:
> Greg Kroah-Hartman <gregkh at linuxfoundation.org> writes:
> 
> > On Tue, Oct 10, 2023 at 05:27:29PM +0200, Arnd Bergmann wrote:
> >
> >> From: Arnd Bergmann <arnd at arndb.de>
> >> 
> >> While looking at the old drivers using the obsolete .ndo_do_ioctl()
> >> callback, I found a number of network drivers that are especially
> >> obsolete, in particular for 802.11b (11Mbit/s) or even older wireless
> >> networks, using non-busmaster ISA/PCMCIA style bus interfaces, and using
> >> the legacy wireless extension ioctls rather than the netlink interfaces
> >> that were meant to replace them in 2007. All of these drivers are
> >> obsolete or orphaned.
> >> 
> >> We had previously discussed this topic, but nobody ever moved the
> >> files, so I now went through the list to my best knowledge. These
> >> are the drivers that I would classify as "probably unused" by now:
> >> 
> >>  - Atmel at76c502/at76c504/at76c506 is a PIO-only (PCMCIA, mini-PCI
> >>    and Cardbus) 802.11b driver with incomplete CFG80211 support.
> >>    The related at76c50x USB driver uses MAC80211 and remains.
> >> 
> >>  - Cisco Aironet is an 802.11b PCMCIA and mini-PCI with limited support
> >>    for Cardbus DMA and for CFG80211.
> >> 
> >>  - HostAP is an ISA/PCMCIA style 802.11b driver supporting only
> >>    wireless extensions, and some custom ioctls (already removed).
> >>    Some devices include a legacy PCI bridge but no DMA.
> >> 
> >>  - Aviator/Raytheon is an early PCMCIA driver, apparently predating
> >>    802.11b and only supporting wireless extensions.
> >> 
> >>  - Planet WL3501 is another PCMCIA driver for pre-802.11b interfaces
> >>    (2Mbit/s) with incomplete CFG80211 support
> >> 
> >>  - Zydas zd1201 is a USB 802.11b driver with limited support for
> >>    CFG80211.
> >> 
> >>  - Orinoco is a PIO-only ISA/PCMCIA 802.11b device with extra bus
> >>    interface connections for PCI/Cardbus/mini-PCI and a few
> >>    pre-2002 Apple PowerMac variants. It supports both
> >>    wireless extensions and CFG80211, but I could not tell if
> >>    it requires using both.
> >> 
> >>  - Wireless RNDIS USB is a new-style CFG80211 driver for 802.11b
> >>    and 802.11g USB hardware from around 2004 to 2006. This makes it
> >>    more modern than any of the others, but Kalle already classified
> >>    it as "legacy" in commit 298e50ad8eb8f ("wifi: move raycs, wl3501
> >>    and rndis_wlan to legacy directory"), so it stays with ray_cs and
> >>    wl3501_cs.
> >> 
> >> There are a few other drivers that are similar to these but that are
> >> more likely to still be needed, and are not moved here:
> >> 
> >>  - Intel ipw2x00 is a PCI bus-master device for 802.11a/b/g that was
> >>    popular in "Centrino" branded laptops from 2003 to 2005, but it
> >>    still requires wireless extensions.
> >> 
> >>  - Marvell Libertas is an 802.11a/b/g device with a number of bus
> >>    interfaces (USB, SDIO, SPI, PCMCIA) and incomplete CFG80211
> >>    support. This one was used in the OLPC XO laptop and some other
> >>    embedded devices that are still supported.
> >> 
> >>  - Some broadcom b43xx devices use the SSB bus that can be abstracted
> >>    through PCMCIA. All of them use CFG80211.
> >> 
> >>  - The Sony Playstation 3 "gelic" ethernet driver contains a bridge
> >>    and an 802.11b/g client chip that is controlled through a hypervisor
> >>    interface from the OS, and it uses wireless extensions in the kernel
> >>    driver.
> >> 
> >> Link: https://lore.kernel.org/all/87imaeg4ar.fsf@codeaurora.org/
> >> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> >
> > Stuff in drivers/staging/ is to get code _into_ the main portion of the
> > kernel tree, not out.  If these aren't being used, let's just drop them
> > entirely.
> >
> > What is the need to have them move to staging, only to have me delete
> > them in the next release after that (or after that?)  Why delay and why
> > not just remove them now?
> 
> We (the wireless folks) have been talking about dropping legacy drivers
> on and off for several years now. The problem is that we don't know
> which of them work and which not, for example IIRC someone reported
> recently that wl3501 still works.
> 
> Personally I would be extremly happy to remove all the ancient drivers
> as that reduces the amount of code for us to maintain but is that the
> right thing to do for the users? I don't have an answer to that,
> comments very welcome.
> 
> I have been also wondering if I should add warnings like this to every
> ancient driver to see if there are any users left:
> 
> "wl3501 wireless driver will be removed in 2024. If the driver still
> works and you are using it send a report NOW to
> linux-wireless at vger.kernel.org to avoid the removal."
> 
> But with the long release cycles the kernel and distros have I doubt
> waiting for a year is enough, it should be more like three years.

No matter what the time frame is, it's never going to line up with all
distros, or catch everyone properly.

I recommend, just delete all the ones you feel are not being used, in a
patch that removes them one-by-one, so that it is trivial to revert if
someone shows up and says "hey, my device stopped working!" a few years
in the future.

thanks,

greg k-h



More information about the linux-arm-kernel mailing list