Dear Wolfgang Denk,
> Have the first add that file, and the second assume it comes later in
> the sequence.

You don't mean by "sequence" PATCH 1/n, 2/n, etc? The drivers are so
independent that that would not really make sense...

> The wiki page does not talk about drivers... It's a general rule and
> applies to all sorts of code. Only add what is really used (this also
> refers, for example, to struct definitions for register blocks etc. -
> don't try to provide a complete description of your SoC; add only
> stuff that is actually used by the code).

That's a thin line. Although I need only one register of the DBU (for
example) I think its wise to define all registers in it, and not to
_reserve[] the unused ones....

Anyway, is the method of (for example!)

#define DBU_ADDR 0xsomething (in a SoC header file)

dbu_t *dbu = (dbu_t *)DBU_ADDR; (in a function)

OK?

Or do we need to further encapsulate that in a function like

dbut_t *get_dbu_addr(void) {return (dbu_t *)DBU_ADDR;}


I was even thinking of something like

struct soc {
        u32 xyz[0x80];  /* XYZ unit */
        u32 dbu[0x80];  /* Debug Unit */
        u32 rstc[0x80]; /* Reset Controller */
and so on.

Then in a driver one could write
dbu_t *dbu = (dbu_t *)soc.dbu;
or something along that line

Best Regards
Reinhard
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to