coreboot/src/lib
Marc Jones 2a58ecde78 Add new finalize functions for devices and chips
Many chipset devices require additional configuration after
device init. It is not uncommmon for a device early in the devicetree
list to need to change a setting after a device later in the tree does
PCI init. A final function call has been added to device ops to handle
this case. It is called prior to coreboot table setup.

Another problem that is often seen is that the chipset or mainboard
need to do some final cleanup just before loading the OS. The chip
finalize has been added for this case. It is call after all coreboot
tables are setup and the payload is ready to be called.

Similar functionality could be implemented with the hardwaremain
states, but those don't fit well in the device tree function pointer
structure and should be used sparingly.

Change-Id: Ib37cce104ae41ec225a8502942d85e54d99ea75f
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Reviewed-on: http://review.coreboot.org/4012
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-11-08 19:55:17 +01:00
..
cbfs.c Don't include LZMA in romstage if ramstage is not compressed. 2013-08-19 21:05:44 +02:00
cbfs_core.c CBFS: Change the signature of cbfs_decompress. 2013-08-15 20:10:39 +02:00
cbmem.c Revert "CBMEM: Always have early initialisation" 2013-10-14 17:16:22 +02:00
cbmem_console.c Rename cpu/x86/car.h to arch/early_variables.h 2013-10-13 12:47:05 +02:00
cbmem_info.c usbdebug: Use CAR migration 2013-09-06 00:36:16 +02:00
clog2.c printk_foo -> printk(BIOS_FOO, ...) 2010-03-22 11:42:32 +00:00
compute_ip_checksum.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
coreboot_table.c CBMEM tables: Remove references to global high_tables_base 2013-09-11 07:15:10 +02:00
debug.c Myles suspected this hangs certain machines, so back it out. 2010-04-15 12:43:07 +00:00
delay.c - Major cleanup of the bootpath 2003-07-19 04:28:22 +00:00
dynamic_cbmem.c Rename cpu/x86/car.h to arch/early_variables.h 2013-10-13 12:47:05 +02:00
edid.c FUI: reorganize include files 2013-07-10 02:39:42 +02:00
fallback_boot.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
gcc.c Unify assembler function handling 2012-12-06 23:13:17 +01:00
gcov-glue.c coverage: use boot state callbacks 2013-05-01 07:08:44 +02:00
gcov-io.c Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
gcov-io.h lib: Fix spelling 2013-07-10 20:17:51 +02:00
gcov-iov.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
generic_dump_spd.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
generic_sdram.c Remove duplicate line from pci_ids.h. 2010-10-07 23:02:06 +00:00
hardwaremain.c Add new finalize functions for devices and chips 2013-11-08 19:55:17 +01:00
jpeg.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
jpeg.h Random cosmetic fixes (trivial). 2010-02-22 16:41:49 +00:00
libgcov.c Fix whitespace leaked into tree 2013-09-17 21:04:35 +02:00
lzma.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
lzmadecode.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
lzmadecode.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
Makefile.inc usbdebug: Fix boards without EARLY_CBMEM_INIT 2013-10-22 21:35:05 +02:00
malloc.c SMM: Add support for malloc in SMM if using TSEG 2012-07-24 23:44:19 +02:00
memchr.c Add an implementation for the memchr library function 2012-03-09 20:00:53 +01:00
memcmp.c - Initial checkin of the freebios2 tree 2003-04-22 19:02:15 +00:00
memcpy.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
memmove.c tidy 2004-03-13 03:40:29 +00:00
memrange.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
memset.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
ne2k.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
ns8390.h Add support for the console over Ethernet (through PCI NE2000). 2010-07-16 20:02:09 +00:00
ramtest.c ramtest.c: Add silent ram_check 2013-06-10 22:30:39 +02:00
rmodule.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
rmodule.ld boot state: schedule static callbacks 2013-05-01 07:06:12 +02:00
selfboot.c Remove NRV2B compression support 2013-08-31 08:58:37 +02:00
spkmodem.c spkmodem console 2013-04-18 22:47:59 +02:00
stack.c fix an error message in checkstack() 2013-02-12 05:05:39 +01:00
thread.c coreboot: add thread cooperative multitasking 2013-05-14 05:18:47 +02:00
timer_queue.c coreboot: add timer queue implementation 2013-05-01 07:19:12 +02:00
timestamp.c timestamps: Fix some lost timestamps for romstage 2013-10-15 13:14:03 +02:00
trace.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
uart8250.c Remove whitespace. 2012-02-17 19:04:31 +01:00
uart8250mem.c Add directive __SIMPLE_DEVICE__ 2013-08-01 15:57:11 +02:00
usbdebug.c usbdebug: Fix boards without EARLY_CBMEM_INIT 2013-10-22 21:35:05 +02:00
version.c This patch fixes build.h dependencies in coreboot again. 2010-03-29 13:04:13 +00:00
xmodem.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00