arm-trusted-firmware/include/drivers
Julius Werner 57bf605772 Factor out cross-BL API into export headers suitable for 3rd party code
This patch adds a new include/export/ directory meant for inclusion in
third-party code. This is useful for cases where third-party code needs
to interact with TF-A interfaces and data structures (such as a custom
BL2-implementation like coreboot handing off to BL31). Directly
including headers from the TF-A repository avoids having to duplicate
all these definitions (and risk them going stale), but with the current
header structure this is not possible because handoff API definitions
are too deeply intertwined with other TF code/headers and chain-include
other headers that will not be available in the other environment.

The new approach aims to solve this by separating only the parts that
are really needed into these special headers that are self-contained and
will not chain-include other (non-export) headers. TF-A code should
never include them directly but should instead always include the
respective wrapper header, which will include the required prerequisites
(like <stdint.h>) before including the export header. Third-party code
can include the export headers via its own wrappers that make sure the
necessary definitions are available in whatever way that environment can
provide them.

Change-Id: Ifd769320ba51371439a8e5dd5b79c2516c3b43ab
Signed-off-by: Julius Werner <jwerner@chromium.org>
2019-07-23 20:25:34 -07:00
..
allwinner Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
arm SMMUv3: Abort DMA transactions 2019-05-10 16:09:19 +01:00
auth Fix type of cot_desc_ptr 2019-06-13 12:53:17 +02:00
cadence Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cfi Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
io drivers: Remove TODO from io_storage 2019-03-12 13:42:08 +00:00
marvell Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
mentor Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
meson meson/gxl: Add support for SHA256 DMA engine 2019-04-02 16:33:59 +02:00
partition Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
renesas/rcar/console rcar_gen3: console: Convert to multi-console API 2019-06-14 00:16:55 +02:00
rpi3 rpi3: sdhost: SDHost driver improvement 2019-02-27 01:06:57 +08:00
st clk: stm32mp1: use defines for mask values in stm32mp1_clk_sel array 2019-06-17 14:03:51 +02:00
synopsys drivers: synopsys: Fix synopsys MMC driver 2019-03-12 14:39:50 +08:00
ti/uart Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
console.h Remove MULTI_CONSOLE_API flag and references to it 2019-06-28 10:52:48 +01:00
console_assertions.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
dw_ufs.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
generic_delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
gpio.h Factor out cross-BL API into export headers suitable for 3rd party code 2019-07-23 20:25:34 -07:00
mmc.h drivers: mmc: Fix some issues with MMC stack 2019-03-07 11:34:20 +08:00
ufs.h Update base code to not rely on undefined overflow behaviour 2019-07-12 09:12:19 +01:00