Hi Sakar,

On Thu, Feb 26, 2015 at 10:36:18AM +0000, sakar.ar...@freescale.com wrote:
> I see that by and large, the contents of SoC and Board Packages (ARM based) 
> in EDK2, are like this:
> 
> 
> -          Most drivers like mmc, sd, flash, timer, etc and certain Libraries 
> like Serial port,  RTC, etc, in SoC packages (E.g. Omap35xxPkg, Omap44xxPkg, 
> ExynosPkg)
> 
> -          For Board packages there is essentially one library that 
> identifies itself as ArmPlatformLib in the inf file. There are few others 
> too, but this one is common to all Board Packages. (E.g. BeagleBoardPkg, 
> ArndaleBoardPkg, PandaBoardPkg etc.)

The situation is well-known, comes from the origins of the project
(effectively as a shared component between different commercial
products), and has been suffering from a bit of a chicken-and-egg
syndrome in that until there are plenty of platforms with open source
support, it is difficult to present a mechanism for keeping common
platform and driver code in a centralised location with any level of
confidence that it will not cause issues long-term.

> My concerns/queries regarding such structuring are -->
> 
> 
> 1.       Why is slave dependent code for storage devices like mmc, sd, etc 
> present in SoC packages, when it should really vary with the board/platform?
> 
> 2.       Having multiple driver sources for similar devices (e.g. storage 
> drivers in Omap35xxPkg, Omap44xxPkg) causes code duplication, as there is a 
> lot of common code in these drivers. Is this intentional? What is the 
> rationale behind it?
> 
> 3.       Is there any discussion going around in the EDK2 community to 
> streamline these driver sources, to ensure better code reusability?

These are really all the same question, and yes - it pops up
occasionally.

Since we now have sources available for probably at least twice as
many platforms as we did last year, We (Linaro) will start looking
into how we could set up a platforms/drivers tree that can be used in
conjunction with edk2. (Currently, we have a tree which periodically
merges additional platform support on top of a current edk2.)

/
    Leif

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to