Refactor fvp gic code to be a generic driver
authorDan Handley <dan.handley@arm.com>
Fri, 20 Jun 2014 08:43:15 +0000 (09:43 +0100)
committerDan Handley <dan.handley@arm.com>
Wed, 9 Jul 2014 15:36:39 +0000 (16:36 +0100)
commit1e8c5c4f20ef820c339992a89a4680f2ccddd69b
treef002ca49e24f23299cdb08ad3fb4f8020eab1b20
parent6f3b195a18a151c08a4812497aaf4cee700d8b1b
Refactor fvp gic code to be a generic driver

Refactor the FVP gic code in plat/fvp/fvp_gic.c to be a generic ARM
GIC driver in drivers/arm/gic/arm_gic.c. Provide the platform
specific inputs in the arm_gic_setup() function so that the driver
has no explicit dependency on platform code.

Provide weak implementations of the platform interrupt controller
API in a new file, plat/common/plat_gic.c. These simply call through
to the ARM GIC driver.

Move the only remaining FVP GIC function, fvp_gic_init() to
plat/fvp/aarch64/fvp_common.c and remove plat/fvp/fvp_gic.c

Fixes ARM-software/tf-issues#182

Change-Id: Iea82fe095fad62dd33ba9efbddd48c57717edd21
13 files changed:
bl32/tsp/tsp-fvp.mk
docs/user-guide.md
drivers/arm/gic/arm_gic.c [new file with mode: 0644]
include/drivers/arm/arm_gic.h [new file with mode: 0644]
include/drivers/arm/gic_v2.h
plat/common/plat_gic.c [new file with mode: 0644]
plat/fvp/aarch64/fvp_common.c
plat/fvp/bl31_fvp_setup.c
plat/fvp/bl32_fvp_setup.c
plat/fvp/fvp_gic.c [deleted file]
plat/fvp/fvp_pm.c
plat/fvp/fvp_private.h
plat/fvp/platform.mk