On Fri, 2011-02-18 at 09:39 +0200, George Kashperko wrote: > > This just reinforces what Michael said about name confusion. > > > > Michael's proposal of separating SSB and AXI, and decoupling the device > > drivers from the bus routines, is going to be much more maintainable in > > the long run. AXI is going to be far more widespread than SSB ever was, > > and it would be really unfortunate if we carry the SSB baggage forward. > > > > I've been poking around at disentangling the sb and ai routines in > > drivers/staging/brcm80211/utils/{aiutils,sbutils,siutils}.c. I don't > > have anything to put out for comments yet, but it's enough to convince > > me that it's the right direction. > Yes, AI, lets say, over SBB, makes some confusion and this confusion > could be avoided with separate SSB/AI bus drivers but in current SSB > design state its 99% of copy-pasting SSB code with changing nothing > other than &ops pointers and ssb_ prefixes with something like bcmai_ or > similar which honestly makes no sense to me considering than the goal is > to <avoid confusion>. Pretty much sure there will be even more confusion > than before. There are plenty of examples in the kernel where code was simply forked for the development of a new technology. Look at b43/b43legacy or ext2/3/4 just for a few examples. The forks were made on purpose to avoid maintainability nightmares. Yes, at first sight, some code had to be duplicated. But I don't see that as an issue. The two codebases will diverge quickly from each other as development is done. So I'm supporting Henry in that SSB is legacy and EOL. Let's simply start over and don't carry old cruft over. Note that this does not mean that we need to duplicate the MIPS, common and probably pci core drivers. A hybrid module can be done, if that's desired to avoid code duplication. And I also think that you're worrying _way_ too much about a few if/else statements in the drivers. (Look at the TMSLOW discussion). The SSB/AI->driver interface is trivial and tiny. There will be maybe 10 if/else statements. It's really _not_ worth introducing major abstraction code in the SSB and AI code to avoid a few if/else statements in the drivers. The bulk of the SSB->driver interface _is_ already abstracted inside of the drivers (b43_read/write...). The rest is negligible. And if it turns out _afterwards_ that we could avoid a few if/else statements by introducing some additional abstraction layer, this thing can be introduced _afterwards_. PS: Could you please stop stripping the CC list. -- Greetings Michael. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html