[PATCH] powerpc: consolidate mpc83xx platform files

Kumar Gala galak at kernel.crashing.org
Wed Dec 13 17:07:43 EST 2006


On Dec 12, 2006, at 11:25 PM, Geoff Thorpe wrote:

> Kumar Gala wrote:
>
>> It adds code to all those people that don't need it just so we  
>> don't  duplicate a few lines of source code.
>>
>
> Sounds like you're describing the raison d'être for device-trees  
> though? After all, if you want to build a kernel that supports  
> these minor h/w variations depending on the device-tree it's booted  
> with, then the "few lines of duplicated source code" you're talking  
> about would also "add code to all those people that don't need it".

No, because those people (myself included) wouldn't build in support  
for the freescale referend boards into the kernel I'm building for my  
custom board.

My question has been what's the value in trying to save a few lines  
of code for the reference boards.  The idea of a generic board  
doesn't make sense in the embedded space.  Just because the reference  
boards for mpc83xx look similar doesn't mean anything else using it  
will.  I know both of the boards I've worked would and still do  
require custom code.

The reason for the custom code is the device tree doesn't describe  
all variants of all hardware.  Its just not spec'd that far. How do  
you describe the FPGA and local bus interface to it on my board? How  
do you describe the compact flash drive on localbus?  How do you  
describe the microcontroller connect over SPI?  You dont because  
there isn't any spec.  The majority of developers dont have the time  
to spend trying to come up with one to solve their specific problem  
so they hard code some solution that works for them.

Over time will we improve the spec, it will cover more cases and  
that's great, but trying to come up with some generic board port  
right now is a waste of time.  There are a ton of better things to be  
spending your guys time on.

I've yet to see anything that describes any real value to a customer.

> Kumar Gala also wrote:
>
>> On Dec 12, 2006, at 4:41 PM, Scott Wood wrote:
>>
>>> And an 83xx-generic machine description does not stop them from   
>>> doing so.  "Generic" does not mean "universal".  It means  
>>> "there's  nothing special about this board".  If you need board- 
>>> specific code  in the kernel, then don't label it generic.
>>>
>>
>> But what value does this have?  83xx, and the majority of  
>> freescale's  devices are not put into something as standard as a  
>> desktop computer.
>
> Then what value do device-trees have at all? Why require new code  
> for new h/w if it's technically unnecessary? If I've understood  
> correctly (I confess to not having followed all of the discussion  
> nor the finer technical points), this would require new code to  
> find its way "upstream" (to whoever/wherever/whatever that means)  
> from freescale and then downstream to it's user before the h/w is  
> supported, when this situation is precisely what device-trees  
> apparently ought to resolve.

This is partial true, but if freescale puts out a new processor/board  
there is some expectation that its going to require some new code.   
If nothing else it's going to require a device-tree be provided.  If  
the concern is about how long it takes to support new HW for existing  
functionality I think that's BS.

> Maybe I'm missing something (quite possible). Ben's objection  
> seemed to be one of naming, but yours seems to be that new h/w  
> should require new code because it's not wintel fodder for desktop  
> grannies? So why bother separating h/w description from the  
> compiled kernel in the first place?

My argument is that trying to describe all HW variants for embedded  
systems in the device tree is never going to happen.  Describing the  
generality of devices on SoC is useful because everyone has to deal  
with that.  Once you start going past that you get into trouble  
because of all the various ways people hook things up to busses.

There are a number of subtle reasons I think a generic port is  
pointless and the only arguments I've heard are some concern about  
duplication of code and the ability to boot a kernel w/o modification  
on new HW.

The duplication code I believe is a style issue and we can reduce the  
duplication to a minimum.  The ability to boot a kernel w/o  
modification on new HW is a nice to have, but I dont see this as  
providing any "real value".

I'd rather see people spending time on problems which need solutions  
and this isn't one of them.

- k


More information about the Linuxppc-dev mailing list