[U-Boot] Best way of making some drivers common across kirkwood and orion5x SoCs?
Prafulla Wadaskar
prafulla at marvell.com
Mon Nov 9 17:43:13 CET 2009
Dear Albert
> -----Original Message-----
> From: Albert ARIBAUD [mailto:albert.aribaud at free.fr]
> Sent: Monday, November 02, 2009 5:46 PM
> To: Prafulla Wadaskar
> Subject: Re: [U-Boot] Best way of making some drivers common
> across kirkwood and orion5x SoCs?
>
> Prafulla Wadaskar a écrit :
> >
> >> Still, the drivers would be full of 'KWxxx" and "kwxxx" symbols of
> >> which many are not kirkwood-specific actually.
> >
> > Any way, those are not even orion specific nor Marvell specific.
> > Those are related to the functionality supported by SOCs that may be
> > customized by each SOC
> >
> >> In order for these drivers to compile with an orion5x SoC, I would
> >> have to adopt kirkwood names in the
> >
> > What harm in this?
>
> I would say it harms maintenability and reuseability of the code. If
> those drivers are neither kirkwood- nor even
> marvell-specific, then they
> should not lead readers to believe they are, otherwise people
> might not
> realize they can ruse these drivers in their own SoCs.
>
> >> orion5x code, which I don't like as much as I would like fixing the
> >>
> > If you see kernel code even there you can see kirkwood call from
> > Orion drivers and vice versa.
> >
> >> symbols to make them marvell-, not kirkwood-, specific.
> >
> > This will not solve the root problem, what about some non
> marvell SoC
> > have same h/w and want to reuse the code? Do we again change the
> > suffixes? (kirkwood re-used external serial driver adopting external
> > definitions).
>
> Point valid and taken--see my suggestion below.
>
> > I suggest here to adopt kw symbols in Orion. This would
> make it clear
> > for anybody that kirkwood code is reused by orion. With
> this kirkwood
> > drives will be untouched.
>
> This does not solve the root problem any better than switching to
> Marvell prefixes, as you rightly point out. I thus suggest
> removing any
> Marvell, Kirkwood or Orion prefixes from symbols in these drivers
> altogether. For instance, egiga symbols would take EGIGA_ as
> a prefix.
> Then each SoC (kirkwood, orion5x, any other) header file
> would provide
> adequate definitions (#define EGIGA_xxxx yyyy).
I understands your concerns-
1. For SOC support Orion should be implemented similar to Kirkwood (you agreed on this)
2. For common drivers for (ex: kirkwood_egiga.c) the common code must be abstracted to egiga_core.c and architecture specific code must be supported through kirkwood_egiga.c/h and orion_egiga.c/h, this way it would make it more clean and structured.
>
> > While doing this reuse activity, if we find something blocking,
> > certainly we should address that, but let's avoid changing identity
> > of drivers.
>
> I personally believe that having the Orion5x SoC dependent of the
> kirkwood one is blocking enough from a design standpoint.
What is your opinion with #2 suggestion?
Regards..
Prafulla . .
>
> > Regards.. Prafulla . .
>
> Amicalement,
> --
> Albert.
>
More information about the U-Boot
mailing list