All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@kernel.org>,  Arnd Bergmann <arnd@arndb.de>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	 Alexandre Belloni <alexandre.belloni@bootlin.com>,
	 Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	 Jakub Kicinski <kuba@kernel.org>,  Pavel Machek <pavel@ucw.cz>,
	 "David S. Miller" <davem@davemloft.net>,
	 Larry Finger <Larry.Finger@lwfinger.net>,
	 linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org,
	linux-staging@lists.linux.dev
Subject: Re: [PATCH] [RFC] wireless: move obsolete drivers to staging
Date: Wed, 11 Oct 2023 08:40:00 +0300	[thread overview]
Message-ID: <87y1g94szz.fsf@kernel.org> (raw)
In-Reply-To: <2023101051-unmasked-cleaver-79b3@gregkh> (Greg Kroah-Hartman's message of "Tue, 10 Oct 2023 18:08:03 +0200")

Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:

> On Tue, Oct 10, 2023 at 05:27:29PM +0200, Arnd Bergmann wrote:
>
>> From: Arnd Bergmann <arnd@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@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@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.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

WARNING: multiple messages have this Message-ID (diff)
From: Kalle Valo <kvalo@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@kernel.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev,
	linux-wireless@vger.kernel.org,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	Pavel Machek <pavel@ucw.cz>, Jakub Kicinski <kuba@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	linux-arm-kernel@lists.infradead.org,
	Larry Finger <Larry.Finger@lwfinger.net>
Subject: Re: [PATCH] [RFC] wireless: move obsolete drivers to staging
Date: Wed, 11 Oct 2023 08:40:00 +0300	[thread overview]
Message-ID: <87y1g94szz.fsf@kernel.org> (raw)
In-Reply-To: <2023101051-unmasked-cleaver-79b3@gregkh> (Greg Kroah-Hartman's message of "Tue, 10 Oct 2023 18:08:03 +0200")

Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:

> On Tue, Oct 10, 2023 at 05:27:29PM +0200, Arnd Bergmann wrote:
>
>> From: Arnd Bergmann <arnd@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@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@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.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-10-11  5:40 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-10 15:27 [PATCH] [RFC] wireless: move obsolete drivers to staging Arnd Bergmann
2023-10-10 15:27 ` Arnd Bergmann
2023-10-10 16:08 ` Greg Kroah-Hartman
2023-10-10 16:08   ` Greg Kroah-Hartman
2023-10-11  5:40   ` Kalle Valo [this message]
2023-10-11  5:40     ` Kalle Valo
2023-10-11  6:16     ` Greg Kroah-Hartman
2023-10-11  6:16       ` Greg Kroah-Hartman
2023-10-11  7:29       ` Kalle Valo
2023-10-11  7:29         ` Kalle Valo
2023-10-11 15:09         ` Jakub Kicinski
2023-10-11 15:09           ` Jakub Kicinski
2023-10-12 11:47           ` Kalle Valo
2023-10-12 11:47             ` Kalle Valo
2023-10-12 14:36             ` Arnd Bergmann
2023-10-12 14:36               ` Arnd Bergmann
2023-10-12 14:48               ` Kalle Valo
2023-10-12 14:48                 ` Kalle Valo
2023-10-12 15:11                 ` Geert Uytterhoeven
2023-10-12 15:11                   ` Geert Uytterhoeven
2023-10-12 15:11                   ` Geert Uytterhoeven
2023-10-12 15:28               ` Johannes Berg
2023-10-12 15:28                 ` Johannes Berg
2023-10-12 15:28                 ` Johannes Berg
2023-10-12 15:39                 ` Geert Uytterhoeven
2023-10-12 15:39                   ` Geert Uytterhoeven
2023-10-12 15:39                   ` Geert Uytterhoeven
2023-10-12 15:41                   ` Johannes Berg
2023-10-12 15:41                     ` Johannes Berg
2023-10-12 15:41                     ` Johannes Berg
2023-10-12 16:36                     ` Geoff Levand
2023-10-12 16:36                       ` Geoff Levand
2023-10-12 16:36                       ` Geoff Levand
2023-10-13 15:44                       ` Arnd Bergmann
2023-10-13 15:44                         ` Arnd Bergmann
2023-10-13 15:44                         ` Arnd Bergmann
2023-10-13 18:02                         ` Johannes Berg
2023-10-13 18:02                           ` Johannes Berg
2023-10-13 18:02                           ` Johannes Berg
2023-10-18 20:37                           ` Jeff Johnson
2023-10-18 20:37                             ` Jeff Johnson
2023-10-18 20:37                             ` Jeff Johnson
2023-10-12 16:16               ` Philipp Hortmann
2023-10-12 16:16                 ` Philipp Hortmann
2023-10-12 16:18               ` Dan Williams
2023-10-12 16:18                 ` Dan Williams
2023-10-11  7:24     ` Arnd Bergmann
2023-10-11  7:24       ` Arnd Bergmann
2023-10-11  7:41       ` Greg Kroah-Hartman
2023-10-11  7:41         ` Greg Kroah-Hartman
2023-10-11  8:44       ` Kalle Valo
2023-10-11  8:44         ` Kalle Valo
2023-10-11  9:01         ` Arnd Bergmann
2023-10-11  9:01           ` Arnd Bergmann
2023-10-11 18:13 ` Philipp Hortmann
2023-10-11 18:13   ` Philipp Hortmann
2023-10-11 20:22   ` Arnd Bergmann
2023-10-11 20:22     ` Arnd Bergmann
2023-10-12  6:23     ` Dan Carpenter
2023-10-12  6:23       ` Dan Carpenter
2023-10-13  6:42 ` Philipp Hortmann
2023-10-13  6:42   ` Philipp Hortmann
2023-10-13 15:36   ` Arnd Bergmann
2023-10-13 15:36     ` Arnd Bergmann
2023-10-13 16:24     ` Larry Finger
2023-10-13 16:24       ` Larry Finger
2023-10-15 18:42     ` Philipp Hortmann
2023-10-15 18:42       ` Philipp Hortmann
2023-10-18 16:05       ` Arnd Bergmann
2023-10-18 16:05         ` Arnd Bergmann
2023-10-13 11:43 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y1g94szz.fsf@kernel.org \
    --to=kvalo@kernel.org \
    --cc=Larry.Finger@lwfinger.net \
    --cc=alexandre.belloni@bootlin.com \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=pavel@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.