[U-Boot] SPL framework re-design

Aneesh V
2011-06-17T07:00:33Z

On Thursday 16 June 2011 10:15 PM, Scott Wood wrote:
> On Thu, 16 Jun 2011 13:38:00 +0530
> Aneesh V<aneesh@ti.com> wrote:
>
>> New Design Proposed by Wolfgang:
>> * Have a top-level Makefile in the SPL root-directory - for instance
>> 'nand_spl/Makefile'
>> * nand_spl/Makefile builds a generic library with the generic source
>> files at this level.
>
> What is a "generic SPL library", or even a "generic NAND SPL library"?
>
> There is no code that is shared by all NAND SPLs. The files directly under
> "nand_spl/" are alternatives that the board makefile can choose.
>
> Counterproposal: keep the basic structure the same, but refactor the
> makefiles so that they use a common template but supply their own policy.
>
> That is, the board makefile would just set some variables to be lists of
> objects it's interested in (and any other relevant tunables, or special
> rules), and then include the common SPL makefile that will do all the
> symlinking and building.

A crude form of this is what I had done in my patch-set. OMAP4 SDP and
OMAP4 Panda Makefiles were identical because there was no board
specific content. So, I moved them into an omap4.mk and rules.mk and
included these two files from the board level Makefiles. But Wolfgang
apparently didn't like this because I was having board level Makefile
despite not having any board specific content.

I still believe that extending this to more granular re-usable
components such as mmc.mk, nand.mk, console.mk, fat.mk etc may be a
less disruptive but effective solution.

>
> And no, I don't think we can get rid of building the objects separately,
> and I don't want a situation where #ifdef NAND_SPL is honored in some files
> but not others.

Agree.

best regards,
Aneesh