public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Manufacturer specific code in a bothersome place
@ 2003-07-07  0:26 Marc Singer
       [not found] ` <20030707142046.3C189C6D82@atlas.denx.de>
  0 siblings, 1 reply; 6+ messages in thread
From: Marc Singer @ 2003-07-07  0:26 UTC (permalink / raw)
  To: u-boot

I'm porting u-boot to the Sharp KEV7A400 development board.  The CPU
has an ARM9 core with some Sharp and some ARM cells.  The existing
ARM920T cpu code has quite a bit of Samsung specific code in it.  So,
the question is this: how do we best handle development like this?
For time time being, I'm creating a new CPU directory to eliminate a
ridiculous set of ifdefs.  However, this may not be a good long-term
solution.

I've been musing about solving the problem and have come up with some
ideas, though nothing yet comprehensivve.  

  1) It seems to be a mistake to put manufacturer specific code in the
     CPU directory unless we equate CPU not to the *core* but to the
     implementation of the core.  For example, not x86, but AMD Elan.
     Not ARM920T but Sharp LH7a400.  In the embedded market, this
     makes more sense than it does for x86 PCs. 
  2) There are some board-specific driver choices, e.g. serial driver,
     that sometimes appear in the CPU directory.  Perhaps these
     choices are best made in the board directory instead.
  3) Drivers, such as serial, could be made to export a function
     table.  This would allow driver selection by choosing which file
     to compile and link.

At this point, I'm looking to start a discussion about this.  I've
seen the same kinds of problems twice, now.  I'd like to find out how
best to fix them.

Cheers.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-07-07 23:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-07  0:26 [U-Boot-Users] Manufacturer specific code in a bothersome place Marc Singer
     [not found] ` <20030707142046.3C189C6D82@atlas.denx.de>
2003-07-07 15:29   ` Marc Singer
2003-07-07 16:33     ` Wolfgang Denk
2003-07-07 18:41       ` Marc Singer
2003-07-07 22:37         ` Wolfgang Denk
2003-07-07 23:24           ` Marc Singer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox