Subject: Re: [PATCH 10/10] [RFC] wifi: remove ipw2100/ipw2200 drivers

From: Kalle Valo <[email-masked]>
Date: Thu, 26 Oct 2023 12:41:27 +0300

Witold Baryluk <[email-masked]> writes:

>> From: Arnd Bergmann <[email-masked]>
>>
>> These two drivers were used for the earliest "Centrino" branded Intel
>> laptops during the late 32-bit Pentium-M era, roughly 2003 to 2005, which
>> probably makes it the most modern platform that still uses the wireless
>> extension interface instead of cfg80211. Unlike the other drivers that
>> are suggested for removal, this one is still officially maintained.
>>
>> According to Johannes Berg, there was an effort to finish the move away
>> from wext in the past, but the last evidence of this that I could find
>> is from commit a3caa99e6c68f ("libipw: initiate cfg80211 API conversion
>> (v2)") in 2009.
>>
>> Link: https://lore.kernel.org/all/[email-masked]/
>> Cc: Stanislav Yakovlev <[email-masked]>
>> Cc: Linux Wireless <[email-masked]>
>> Signed-off-by: Arnd Bergmann <[email-masked]>
>> ---
>> I'm not convinced this should be in the same set of drivers as the
>> rest, since this is clearly less obsolete than the other hardware
>> that I would remove support for.
>
> I still use ipw2200 on Intel PRO/Wireless 2915ABG [Calexico2] Network
> Connection card, in my IBM Thinkpad X41 (Pentium-M 1.73GHz, Centrino
> platform). The laptop is rock solid, and I use it as a backup for my
> other Thinkpad. In fact is sometimes preferable to more modern machines
> (IMHO X41 itself is the best laptop ever made in terms of a design).
>
> Never had really issues with WiFi on it. In terms of speed it is neither
> far or slow, but does the job anyway.
>
> Now, I do not use this laptop frequently, maybe once or twice a month.
> But that is more because in I use laptops less in general these days. Not
> because the machine is not usable. I have modern SSD in it, second hard
> drive, two USB 3.0 ports via ExpressCard, high res 4:3 (1440x1050)
> display, full disk encryption, etc.
>
> I would really like for this driver to stay in the mainline for another 5-10
> years.

Thanks for the thorough report. By my calculations that's the third user
report about ipw2x00 so clearly there are users still and we shouldn't
remove the driver. I'm dropping this patch 10 from my queue now.

> I might be interested in modernizing the driver, but I have no idea how
> much effort it would be (in terms of changed fraction of code). 20k LOC is
> neither small or big, and not obvious (a lot of it would be unchanged),
> if it is a week of work, or months of work.
>
> I would not have an issue with removing it, and readding back if somebody
> (or me) ports it, if not for re-review from scratch concerns. If I port
> it, I would not be able to do re-review, 1) out of date coding standards,
> 2) different reviewers, 3) I would only port needed parts, and keep rest
> of the driver intact, so I would not be able to really provide much
> insight. So, readding after porting might be harder than keeping and
> porting.

It would be great if you could cleanup the driver and convert it to use
mac80211. In the wiki link below there is more info how to contribute
patches to the wireless subsystem. I always recommend starting with
something small and going towards more complex patches with baby steps.
Avoid patchbombing as much as possible!

For example, I see lots of dead code under '#ifdef NOT_YET' and '#if 0',
removing those is a good a start. Also converting the ugly debug_level
procfs file to something more modern would be nice, maybe using just
dev_dbg() throught the driver is a good option? Or maybe use a module
parameter instead?

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

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