Export redesign
authorMartin Dorwig <dorwig@tetronik.com>
Mon, 26 Jan 2015 22:22:54 +0000 (15:22 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 30 Jan 2015 00:09:57 +0000 (17:09 -0700)
commit49cad54788a64a296567abadcd736fdbe47cc3a3
tree8bf86512da0c8f5537743ba745b8f0084119bd2f
parent2017aaef8c383c910e791bf0f87fa4d6b78f5945
Export redesign

this is an atempt to make the export of functions typesafe.
I replaced the jumptable void ** by a struct (jt_funcs) with function pointers.
The EXPORT_FUNC macro now has 3 fixed parameters and one
variadic parameter
The first is the name of the exported function,
the rest of the parameters are used to format a functionpointer
in the jumptable,

the EXPORT_FUNC macros are expanded three times,
1. to declare the members of the struct
2. to initialize the structmember pointers
3. to call the functions in stubs.c

Signed-off-by: Martin Dorwig <dorwig@tetronik.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
(resending to the list since my tweaks are not quite trivial)
arch/blackfin/cpu/cpu.c
board/BuS/eb_cpux9k2/cpux9k2.c
common/cmd_load.c
common/console.c
common/exports.c
doc/README.standalone
examples/standalone/stubs.c
include/_exports.h
include/asm-generic/global_data.h
include/exports.h