[coreboot] [PATCH] Proposal for dealing with superio *.c includes
Alex G.
mr.nuke.me at gmail.com
Sat Feb 26 22:40:28 CET 2011
On 02/26/2011 11:16 PM, Peter Stuge wrote:
> Alex G. wrote:
>> Moves the inclusion of the superio early code from romstage.c in
>> the mainboard directory to Makefile.inc in the superio directory.
>
> Will it work also for boards with more than one superio?
>
I'm very tempted (and sure) to say "no". That's why this is largely a
proposal, and you are welcome to extend it. I can only do one superio at
a time, and I definitely cannot do it all by myself.
A:
One other solution I had considered was to put the include in the
board's Makefile.inc, but, as you might have imagined, proved too messy.
B:
A fuzzy extension of this option is to declare
superio_enable_early_serial() as weak, and have the board select which
superio to use for serial output.
C:
Or, besides SUPERIO_VENDOR_NAME we can also have a Kconfig option
SUPERIO_VENDOR_NAME_HAS_EARLY_SERIAL, and base our decision of including
the early serial code in romstage based on the latter.
======================================================================
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
[...]
select SUPERIO_FINTEK_F81865F
select SUPERIO_OTHERVENDOR_OTHERMODEL
select SUPERIO_FINTEK_F81865F_HAS_EARLY_SERIAL
[...]
======================================================================
romstage-$(CONFIG_SUPERIO_FINTEK_F81865F_HAS_EARLY_SERIAL) += early_serial.c
If the board has two identical superios, then the same file will get
included (only once). In this case, handling both superios will have to
be done in mainboard logic anyways.
D:
Just forget about it and never again worry about .c includes.
Alex
More information about the coreboot
mailing list