On Fri, Mar 22, 2019 at 1:50 PM Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Fri, 2019-03-22 at 21:46 +0100, Johannes Berg wrote: > > > > In effect, an existing > > > > u32 freq; > > > > would become > > > > u32 freq, freq_fractional; > > > > and we'd just treat the two as a 32.32 fixed point integer. > > Maybe easier would be to say > > u32 freq; > u16 freq_partial_khz; > > and basically say > > freq_khz = freq * 1000 + freq_partial_khz; > > Same reasoning and similar logic, but no need to do any sort of fixed > point conversions. I guess it's a tradeoff between leaving MHz-only drivers alone and wrapping existing assignments and comparisons in maybe a macro to extract the final KHz value. The current set of changes is about 150 lines in net/mac80211/ and net/wireless/ [1] with drivers/ being about the same. Adding the KHz part to center_freq, center_freq1, and rx_status->freq may be fewer overall changes in mac80211 and cfg80211, and should be none for existing drivers. I'll give this a shot at some point when it comes time to rebase on upstream wireless-testing. [1] https://paste.debian.net/1074289/