Re: rtw88, rtw89 -- options for bringing a couple rtw standalone GitHub repos into backports.git

Brian Witte <[email protected]> Wed, 25 Oct 2023 07:56:42 -0500
Newsgroups org.kernel.vger.backports
Message-ID <[email protected]>
Johannes,
> Right. Keep in mind also though that you're doing it differently from
> what backports does - backports comes with cfg80211 and mac80211, so
> it's easier to do than adjusting to older versions of mac80211.
I spoke to Larry off list and considering the cfg80211 and mac80211 
situation with older kernels further, he wants me to try and get a 
simple backports setup validated so that people can still
`make` and `make install`. He is focused on a few other important tasks 
and will probably get back with us here later, I just wanted to start 
running downhill with this ASAP so I slid in here.

I am going to first try a variation of the approach you suggested where 
I generate backports for Linux versions in the repo in ascending order 
then have our Makefile detect user's version and install accordingly.

Again, my understanding is often the bottleneck so I want to first say 
what I intend to do and then ask a question:

1. I want to use wireless-next as the upstream kernel source for 
building the backports, I would need to build all backports via the 
"package release" workflow [1] in order to provide users with a package 
that they can use without needing the upstream source on their machine, 
effectively giving them "a patch file" for compatibility for driver 
specific modifications and the up-to-date 80211 stack. I would then only 
need to decide which git tags for older kernels to use for the versions 
we want to support, create the packages, then include those in the 
repository.

[1] https://backports.wiki.kernel.org/index.php/Documentation/packaging

2. I am trying to figure this out currently, but am not entirely sure 
how granular the built package versions have to be in order to work with 
a users kernel version. How do I decide the coverage of an individual 
package per major-minor version or other variations? You mentioned RCs 
earlier. For this first PoC, I want to make sure users can get the 
driver working for any version they are running going back to 5.4.

After that, our Makefile and/or scripts it coordinates will have to 
detect the user version, then cd into that package, and install it 
properly. I am suspending any upstream commit history shenanigans for a 
later point as making sure the driver is performant and in-line with the 
up-to-date wireless stack. Being able to use those features and have a 
consistent API across the components is much more of a priority, at the 
moment.

Thank you for you help and patience with all of this. You have helped 
make this process an enjoyable thing to dive into and I am excited to 
start hacking on backports.

Thanks,
Brian Witte