mbox series

[00/10] Remove obsolete and orphaned wifi drivers

Message ID 20231023131953.2876682-1-arnd@kernel.org
Headers show
Series Remove obsolete and orphaned wifi drivers | expand

Message

Arnd Bergmann Oct. 23, 2023, 1:19 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

As discussed previously, a lot of the older wifi drivers are likely
entirely unused, Though we can't know for sure.

As suggested by both Greg and Jakub, let's remove the ones that look
are most likely to have no users left and also get in the way of the
wext cleanup. If anyone is still using any of these, we can revert the
driver removal individually.

I would suggest merging these for net-next after 6.7-rc1 is out, to give
them the maximum amount of time for users to speak up before a release
comes out.

This kills off all pcmcia wifi drivers, and all wext users in
drivers/net/wireless, but not the ps3-gelic-wireless driver in
drivers/net/ethernet, or the staging drivers.

In staging, rtl8192u was already removed in the meantime, while rtl8712
and rtl8192e are apparently still used.  I have not been able to find
out whether ks7010 is still in use.

	Arnd

Link: https://lore.kernel.org/lkml/20231011080955.1beeb010@kernel.org/


Arnd Bergmann (10):
  wifi: libertas: drop 16-bit PCMCIA support
  wifi: atmel: remove wext style at76c50x drivers
  wifi: remove orphaned cisco/aironet driver
  wifi: remove obsolete hostap driver
  wifi: remove orphaned zd1201 driver
  wifi: remove orphaned orinoco driver
  wifi: remove orphaned ray_cs driver
  wifi: remove orphaned wl3501 driver
  wifi: remove orphaned rndis_wlan driver
  [RFC] wifi: remove ipw2100/ipw2200 drivers

 .../networking/device_drivers/wifi/index.rst  |    20 -
 .../device_drivers/wifi/intel/ipw2100.rst     |   323 -
 .../device_drivers/wifi/intel/ipw2200.rst     |   526 -
 .../networking/device_drivers/wifi/ray_cs.rst |   165 -
 MAINTAINERS                                   |    49 -
 drivers/net/wireless/Kconfig                  |     3 -
 drivers/net/wireless/Makefile                 |     2 -
 drivers/net/wireless/atmel/Kconfig            |    35 -
 drivers/net/wireless/atmel/Makefile           |     4 -
 drivers/net/wireless/atmel/atmel.c            |  4452 ------
 drivers/net/wireless/atmel/atmel.h            |    31 -
 drivers/net/wireless/atmel/atmel_cs.c         |   292 -
 drivers/net/wireless/atmel/atmel_pci.c        |    65 -
 drivers/net/wireless/cisco/Kconfig            |    59 -
 drivers/net/wireless/cisco/Makefile           |     3 -
 drivers/net/wireless/cisco/airo.c             |  8288 -----------
 drivers/net/wireless/cisco/airo.h             |    10 -
 drivers/net/wireless/cisco/airo_cs.c          |   218 -
 drivers/net/wireless/intel/Kconfig            |     1 -
 drivers/net/wireless/intel/Makefile           |     3 -
 drivers/net/wireless/intel/ipw2x00/Kconfig    |   195 -
 drivers/net/wireless/intel/ipw2x00/Makefile   |    15 -
 drivers/net/wireless/intel/ipw2x00/ipw.h      |    20 -
 drivers/net/wireless/intel/ipw2x00/ipw2100.c  |  8587 -----------
 drivers/net/wireless/intel/ipw2x00/ipw2100.h  |  1142 --
 drivers/net/wireless/intel/ipw2x00/ipw2200.c  | 11965 ----------------
 drivers/net/wireless/intel/ipw2x00/ipw2200.h  |  1984 ---
 drivers/net/wireless/intel/ipw2x00/libipw.h   |  1001 --
 .../net/wireless/intel/ipw2x00/libipw_geo.c   |   179 -
 .../wireless/intel/ipw2x00/libipw_module.c    |   297 -
 .../net/wireless/intel/ipw2x00/libipw_rx.c    |  1737 ---
 .../net/wireless/intel/ipw2x00/libipw_tx.c    |   519 -
 .../net/wireless/intel/ipw2x00/libipw_wx.c    |   726 -
 drivers/net/wireless/intersil/Kconfig         |     2 -
 drivers/net/wireless/intersil/Makefile        |     2 -
 drivers/net/wireless/intersil/hostap/Kconfig  |    95 -
 drivers/net/wireless/intersil/hostap/Makefile |     8 -
 drivers/net/wireless/intersil/hostap/hostap.h |    98 -
 .../wireless/intersil/hostap/hostap_80211.h   |    97 -
 .../intersil/hostap/hostap_80211_rx.c         |  1116 --
 .../intersil/hostap/hostap_80211_tx.c         |   554 -
 .../net/wireless/intersil/hostap/hostap_ap.c  |  3277 -----
 .../net/wireless/intersil/hostap/hostap_ap.h  |   264 -
 .../wireless/intersil/hostap/hostap_common.h  |   420 -
 .../wireless/intersil/hostap/hostap_config.h  |    49 -
 .../net/wireless/intersil/hostap/hostap_cs.c  |   710 -
 .../intersil/hostap/hostap_download.c         |   810 --
 .../net/wireless/intersil/hostap/hostap_hw.c  |  3387 -----
 .../wireless/intersil/hostap/hostap_info.c    |   509 -
 .../wireless/intersil/hostap/hostap_ioctl.c   |  3847 -----
 .../wireless/intersil/hostap/hostap_main.c    |  1123 --
 .../net/wireless/intersil/hostap/hostap_pci.c |   445 -
 .../net/wireless/intersil/hostap/hostap_plx.c |   617 -
 .../wireless/intersil/hostap/hostap_proc.c    |   411 -
 .../wireless/intersil/hostap/hostap_wlan.h    |  1051 --
 drivers/net/wireless/intersil/orinoco/Kconfig |   143 -
 .../net/wireless/intersil/orinoco/Makefile    |    15 -
 .../net/wireless/intersil/orinoco/airport.c   |   268 -
 drivers/net/wireless/intersil/orinoco/cfg.c   |   291 -
 drivers/net/wireless/intersil/orinoco/cfg.h   |    15 -
 drivers/net/wireless/intersil/orinoco/fw.c    |   387 -
 drivers/net/wireless/intersil/orinoco/fw.h    |    21 -
 .../net/wireless/intersil/orinoco/hermes.c    |   778 -
 .../net/wireless/intersil/orinoco/hermes.h    |   534 -
 .../wireless/intersil/orinoco/hermes_dld.c    |   477 -
 .../wireless/intersil/orinoco/hermes_dld.h    |    52 -
 .../wireless/intersil/orinoco/hermes_rid.h    |   165 -
 drivers/net/wireless/intersil/orinoco/hw.c    |  1362 --
 drivers/net/wireless/intersil/orinoco/hw.h    |    60 -
 drivers/net/wireless/intersil/orinoco/main.c  |  2414 ----
 drivers/net/wireless/intersil/orinoco/main.h  |    50 -
 drivers/net/wireless/intersil/orinoco/mic.c   |    89 -
 drivers/net/wireless/intersil/orinoco/mic.h   |    23 -
 .../net/wireless/intersil/orinoco/orinoco.h   |   251 -
 .../wireless/intersil/orinoco/orinoco_cs.c    |   350 -
 .../intersil/orinoco/orinoco_nortel.c         |   314 -
 .../wireless/intersil/orinoco/orinoco_pci.c   |   257 -
 .../wireless/intersil/orinoco/orinoco_pci.h   |    54 -
 .../wireless/intersil/orinoco/orinoco_plx.c   |   362 -
 .../wireless/intersil/orinoco/orinoco_tmd.c   |   237 -
 .../wireless/intersil/orinoco/orinoco_usb.c   |  1787 ---
 drivers/net/wireless/intersil/orinoco/scan.c  |   259 -
 drivers/net/wireless/intersil/orinoco/scan.h  |    21 -
 .../wireless/intersil/orinoco/spectrum_cs.c   |   328 -
 drivers/net/wireless/intersil/orinoco/wext.c  |  1428 --
 drivers/net/wireless/intersil/orinoco/wext.h  |    13 -
 drivers/net/wireless/legacy/Kconfig           |    55 -
 drivers/net/wireless/legacy/Makefile          |     6 -
 drivers/net/wireless/legacy/ray_cs.c          |  2824 ----
 drivers/net/wireless/legacy/ray_cs.h          |    74 -
 drivers/net/wireless/legacy/rayctl.h          |   734 -
 drivers/net/wireless/legacy/rndis_wlan.c      |  3760 -----
 drivers/net/wireless/legacy/wl3501.h          |   615 -
 drivers/net/wireless/legacy/wl3501_cs.c       |  2036 ---
 drivers/net/wireless/marvell/libertas/Kconfig |     7 +-
 .../net/wireless/marvell/libertas/Makefile    |     1 -
 drivers/net/wireless/marvell/libertas/if_cs.c |   957 --
 drivers/net/wireless/zydas/Kconfig            |    19 -
 drivers/net/wireless/zydas/Makefile           |     2 -
 drivers/net/wireless/zydas/zd1201.c           |  1909 ---
 drivers/net/wireless/zydas/zd1201.h           |   144 -
 101 files changed, 1 insertion(+), 87755 deletions(-)
 delete mode 100644 Documentation/networking/device_drivers/wifi/index.rst
 delete mode 100644 Documentation/networking/device_drivers/wifi/intel/ipw2100.rst
 delete mode 100644 Documentation/networking/device_drivers/wifi/intel/ipw2200.rst
 delete mode 100644 Documentation/networking/device_drivers/wifi/ray_cs.rst
 delete mode 100644 drivers/net/wireless/atmel/atmel.c
 delete mode 100644 drivers/net/wireless/atmel/atmel.h
 delete mode 100644 drivers/net/wireless/atmel/atmel_cs.c
 delete mode 100644 drivers/net/wireless/atmel/atmel_pci.c
 delete mode 100644 drivers/net/wireless/cisco/Kconfig
 delete mode 100644 drivers/net/wireless/cisco/Makefile
 delete mode 100644 drivers/net/wireless/cisco/airo.c
 delete mode 100644 drivers/net/wireless/cisco/airo.h
 delete mode 100644 drivers/net/wireless/cisco/airo_cs.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/Kconfig
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/Makefile
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/ipw.h
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/ipw2100.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/ipw2100.h
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/ipw2200.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/ipw2200.h
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw.h
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw_geo.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw_module.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw_rx.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw_tx.c
 delete mode 100644 drivers/net/wireless/intel/ipw2x00/libipw_wx.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/Kconfig
 delete mode 100644 drivers/net/wireless/intersil/hostap/Makefile
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap.h
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_80211.h
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_ap.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_ap.h
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_common.h
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_config.h
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_cs.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_download.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_hw.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_info.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_ioctl.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_main.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_pci.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_plx.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_proc.c
 delete mode 100644 drivers/net/wireless/intersil/hostap/hostap_wlan.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/Kconfig
 delete mode 100644 drivers/net/wireless/intersil/orinoco/Makefile
 delete mode 100644 drivers/net/wireless/intersil/orinoco/airport.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/cfg.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/cfg.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/fw.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/fw.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hermes.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hermes.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hermes_dld.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hermes_dld.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hermes_rid.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hw.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/hw.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/main.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/main.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/mic.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/mic.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_cs.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_nortel.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_pci.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_pci.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_plx.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_tmd.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/orinoco_usb.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/scan.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/scan.h
 delete mode 100644 drivers/net/wireless/intersil/orinoco/spectrum_cs.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/wext.c
 delete mode 100644 drivers/net/wireless/intersil/orinoco/wext.h
 delete mode 100644 drivers/net/wireless/legacy/Kconfig
 delete mode 100644 drivers/net/wireless/legacy/Makefile
 delete mode 100644 drivers/net/wireless/legacy/ray_cs.c
 delete mode 100644 drivers/net/wireless/legacy/ray_cs.h
 delete mode 100644 drivers/net/wireless/legacy/rayctl.h
 delete mode 100644 drivers/net/wireless/legacy/rndis_wlan.c
 delete mode 100644 drivers/net/wireless/legacy/wl3501.h
 delete mode 100644 drivers/net/wireless/legacy/wl3501_cs.c
 delete mode 100644 drivers/net/wireless/marvell/libertas/if_cs.c
 delete mode 100644 drivers/net/wireless/zydas/zd1201.c
 delete mode 100644 drivers/net/wireless/zydas/zd1201.h

Comments

Kalle Valo Oct. 23, 2023, 1:45 p.m. UTC | #1
Arnd Bergmann <arnd@kernel.org> writes:

> From: Arnd Bergmann <arnd@arndb.de>
>
> As discussed previously, a lot of the older wifi drivers are likely
> entirely unused, Though we can't know for sure.
>
> As suggested by both Greg and Jakub, let's remove the ones that look
> are most likely to have no users left and also get in the way of the
> wext cleanup. If anyone is still using any of these, we can revert the
> driver removal individually.
>
> I would suggest merging these for net-next after 6.7-rc1 is out

Why net-next? I want to take these to wireless-next to avoid any
conflicts with other wireless patches.

We could take these to wireless-next after we submit the last new
features (-next) pull request to v6.7, so most likely already next week.
So if anyone has any problems with these speak up now.
Arnd Bergmann Oct. 23, 2023, 2:10 p.m. UTC | #2
On Mon, Oct 23, 2023, at 15:45, Kalle Valo wrote:
> Arnd Bergmann <arnd@kernel.org> writes:
>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> As discussed previously, a lot of the older wifi drivers are likely
>> entirely unused, Though we can't know for sure.
>>
>> As suggested by both Greg and Jakub, let's remove the ones that look
>> are most likely to have no users left and also get in the way of the
>> wext cleanup. If anyone is still using any of these, we can revert the
>> driver removal individually.
>>
>> I would suggest merging these for net-next after 6.7-rc1 is out
>
> Why net-next? I want to take these to wireless-next to avoid any
> conflicts with other wireless patches.

My mistake, I actually rebased them on top of wireless-next before
sending out the patches, I just forgot update the text I had
already written a week earlier.

> We could take these to wireless-next after we submit the last new
> features (-next) pull request to v6.7, so most likely already next week.
> So if anyone has any problems with these speak up now.

Sounds good to me, thanks!

    Arnd
Kalle Valo Oct. 23, 2023, 2:41 p.m. UTC | #3
"Arnd Bergmann" <arnd@arndb.de> writes:

> On Mon, Oct 23, 2023, at 15:45, Kalle Valo wrote:
>> Arnd Bergmann <arnd@kernel.org> writes:
>>
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> As discussed previously, a lot of the older wifi drivers are likely
>>> entirely unused, Though we can't know for sure.
>>>
>>> As suggested by both Greg and Jakub, let's remove the ones that look
>>> are most likely to have no users left and also get in the way of the
>>> wext cleanup. If anyone is still using any of these, we can revert the
>>> driver removal individually.
>>>
>>> I would suggest merging these for net-next after 6.7-rc1 is out
>>
>> Why net-next? I want to take these to wireless-next to avoid any
>> conflicts with other wireless patches.
>
> My mistake, I actually rebased them on top of wireless-next before
> sending out the patches, I just forgot update the text I had
> already written a week earlier.

Ah, good that we are on the same page then :)

>> We could take these to wireless-next after we submit the last new
>> features (-next) pull request to v6.7, so most likely already next week.
>> So if anyone has any problems with these speak up now.
>
> Sounds good to me, thanks!

Thanks for the patches! I applied them to our pending branch for some
build testing, there were few conflicts I guess due to recent cleanup
patches but obviously easy to fix :)

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/log/?h=pending
John Paul Adrian Glaubitz Oct. 30, 2023, 7:19 a.m. UTC | #4
Hi Arnd!

There is some non-x86 hardware like the Amiga that still uses PCMCIA-style networking
cards on machines like the A600 and A1200. So, unless these drivers are actually causing
problems, I would rather not see them go yet.

Thanks,
Adrian
Arnd Bergmann Oct. 30, 2023, 10:06 a.m. UTC | #5
On Mon, Oct 30, 2023, at 08:19, John Paul Adrian Glaubitz wrote:
> Hi Arnd!
>
> There is some non-x86 hardware like the Amiga that still uses 
> PCMCIA-style networking
> cards on machines like the A600 and A1200. So, unless these drivers are 
> actually causing
> problems, I would rather not see them go yet.

Do you know of any systems other than the Amiga that are still
in use with new kernels and that rely on PCMCIA networking?

I know that Amiga has its own simple CONFIG_AMIGA_PCMCIA
implementation that is incompatible with CONFIG_PCMCIA device
drivers, so it is not affected by this.

For the few ARM systems that still support a CF card slot,
these tend to be used for IDE type storage cards because their
internal flash is too limited otherwise.

       Arnd
Kalle Valo Oct. 30, 2023, 4:55 p.m. UTC | #6
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> writes:

> There is some non-x86 hardware like the Amiga that still uses
> PCMCIA-style networking cards on machines like the A600 and A1200. So,
> unless these drivers are actually causing problems, I would rather not
> see them go yet.

There is a cost maintaining these drivers so I would like to see more
information in the report, at least:

* exact driver and hardware used

* last kernel version tested

* kernel log messages from a successful case

Here's a good example:

https://lore.kernel.org/linux-wireless/20231024014302.0a0b79b0@mir/
Kalle Valo Oct. 31, 2023, 9:08 a.m. UTC | #7
Arnd Bergmann <arnd@kernel.org> writes:

> From: Arnd Bergmann <arnd@arndb.de>
>
> As discussed previously, a lot of the older wifi drivers are likely
> entirely unused, Though we can't know for sure.
>
> As suggested by both Greg and Jakub, let's remove the ones that look
> are most likely to have no users left and also get in the way of the
> wext cleanup. If anyone is still using any of these, we can revert the
> driver removal individually.
>
> I would suggest merging these for net-next after 6.7-rc1 is out, to give
> them the maximum amount of time for users to speak up before a release
> comes out.
>
> This kills off all pcmcia wifi drivers, and all wext users in
> drivers/net/wireless, but not the ps3-gelic-wireless driver in
> drivers/net/ethernet, or the staging drivers.
>
> In staging, rtl8192u was already removed in the meantime, while rtl8712
> and rtl8192e are apparently still used.  I have not been able to find
> out whether ks7010 is still in use.
>
> 	Arnd
>
> Link: https://lore.kernel.org/lkml/20231011080955.1beeb010@kernel.org/
>
>
> Arnd Bergmann (10):
>   wifi: libertas: drop 16-bit PCMCIA support
>   wifi: atmel: remove wext style at76c50x drivers
>   wifi: remove orphaned cisco/aironet driver
>   wifi: remove obsolete hostap driver
>   wifi: remove orphaned zd1201 driver
>   wifi: remove orphaned orinoco driver
>   wifi: remove orphaned ray_cs driver
>   wifi: remove orphaned wl3501 driver
>   wifi: remove orphaned rndis_wlan driver
>   [RFC] wifi: remove ipw2100/ipw2200 drivers

I manually applied these 9 to wireless-next:

4b478bf6bdd8 wifi: libertas: drop 16-bit PCMCIA support
77e49bec6414 wifi: atmel: remove wext style at76c50x drivers
6853c70ba5ed wifi: remove orphaned cisco/aironet driver
d0172d5f7576 wifi: remove obsolete hostap driver
757a46c2a7a9 wifi: remove orphaned zd1201 driver
1535d5962d79 wifi: remove orphaned orinoco driver
6b9dbaff83d6 wifi: remove orphaned ray_cs driver
238349207cd3 wifi: remove orphaned wl3501 driver
bec95598b24a wifi: remove orphaned rndis_wlan driver

I dropped this patch as we got several reports about people using the
driver:

[RFC] wifi: remove ipw2100/ipw2200 drivers

The patches are queued for v6.8. Arnd, thanks a lot for cleaning this
up!