On Wed, Oct 11, 2023 at 08:40:00AM +0300, Kalle Valo wrote: > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > > > On Tue, Oct 10, 2023 at 05:27:29PM +0200, Arnd Bergmann wrote: > > > >> From: Arnd Bergmann <arnd@xxxxxxxx> > >> > >> 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@xxxxxxxxxxxxxx/ > >> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > > > > 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@xxxxxxxxxxxxxxx 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