Re: [RFC] AI support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux