aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniel Boulby <daniel.boulby@arm.com>2018-09-18 13:36:39 +0100
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2018-10-03 11:48:15 +0100
commitc9263e62a749610c880bdc693e4e644bd9091611 (patch)
treeb2d1d2963e47f0fc3bf5703e15a3b92c02072a48 /drivers
parentaff2863fe616901fc4194381c7ab1839aa70d373 (diff)
downloadplatform_external_arm-trusted-firmware-c9263e62a749610c880bdc693e4e644bd9091611.tar.gz
platform_external_arm-trusted-firmware-c9263e62a749610c880bdc693e4e644bd9091611.tar.bz2
platform_external_arm-trusted-firmware-c9263e62a749610c880bdc693e4e644bd9091611.zip
Mark GICV3, CCI and CCN boot time code as init
Mark the GICv3, CCI and CCN code only used in Bl31 initialization with __init to be reclaimed once no longer needed. Change-Id: I3d77f36758450d9d1d87ecc60bc1c63fe4082667 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/arm/cci/cci.c3
-rw-r--r--drivers/arm/ccn/ccn.c6
-rw-r--r--drivers/arm/gic/v3/gicv3_main.c4
-rw-r--r--drivers/arm/smmu/smmu_v3.c9
4 files changed, 12 insertions, 10 deletions
diff --git a/drivers/arm/cci/cci.c b/drivers/arm/cci/cci.c
index 91245d46c..605971cac 100644
--- a/drivers/arm/cci/cci.c
+++ b/drivers/arm/cci/cci.c
@@ -107,7 +107,8 @@ static int get_slave_ports(unsigned int part_num)
}
#endif /* ENABLE_ASSERTIONS */
-void cci_init(uintptr_t base, const int *map, unsigned int num_cci_masters)
+void __init cci_init(uintptr_t base, const int *map,
+ unsigned int num_cci_masters)
{
assert(map != NULL);
assert(base != 0U);
diff --git a/drivers/arm/ccn/ccn.c b/drivers/arm/ccn/ccn.c
index afb7d9d3b..910cd7cd2 100644
--- a/drivers/arm/ccn/ccn.c
+++ b/drivers/arm/ccn/ccn.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -167,7 +167,7 @@ static unsigned int ccn_get_rn_master_info(uintptr_t periphbase,
* It compares this with the information provided by the platform to determine
* the validity of the latter.
******************************************************************************/
-static void ccn_validate_plat_params(const ccn_desc_t *plat_desc)
+static void __init ccn_validate_plat_params(const ccn_desc_t *plat_desc)
{
unsigned int master_id, num_rn_masters;
rn_info_t info = { {0} };
@@ -208,7 +208,7 @@ static void ccn_validate_plat_params(const ccn_desc_t *plat_desc)
* simultaneous CCN operations at runtime (only BL31) to add and remove Request
* nodes from coherency.
******************************************************************************/
-void ccn_init(const ccn_desc_t *plat_desc)
+void __init ccn_init(const ccn_desc_t *plat_desc)
{
#if ENABLE_ASSERTIONS
ccn_validate_plat_params(plat_desc);
diff --git a/drivers/arm/gic/v3/gicv3_main.c b/drivers/arm/gic/v3/gicv3_main.c
index 5af7e4027..60f2e108a 100644
--- a/drivers/arm/gic/v3/gicv3_main.c
+++ b/drivers/arm/gic/v3/gicv3_main.c
@@ -55,7 +55,7 @@ static spinlock_t gic_lock;
* This function initialises the ARM GICv3 driver in EL3 with provided platform
* inputs.
******************************************************************************/
-void gicv3_driver_init(const gicv3_driver_data_t *plat_driver_data)
+void __init gicv3_driver_init(const gicv3_driver_data_t *plat_driver_data)
{
unsigned int gic_version;
@@ -129,7 +129,7 @@ void gicv3_driver_init(const gicv3_driver_data_t *plat_driver_data)
* This function initialises the GIC distributor interface based upon the data
* provided by the platform while initialising the driver.
******************************************************************************/
-void gicv3_distif_init(void)
+void __init gicv3_distif_init(void)
{
unsigned int bitmap = 0;
diff --git a/drivers/arm/smmu/smmu_v3.c b/drivers/arm/smmu/smmu_v3.c
index ddb99634e..78a9ffa6d 100644
--- a/drivers/arm/smmu/smmu_v3.c
+++ b/drivers/arm/smmu/smmu_v3.c
@@ -4,21 +4,22 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
+#include <cdefs.h>
#include <mmio.h>
#include <smmu_v3.h>
#include <stdbool.h>
-static inline uint32_t smmuv3_read_s_idr1(uintptr_t base)
+static inline uint32_t __init smmuv3_read_s_idr1(uintptr_t base)
{
return mmio_read_32(base + SMMU_S_IDR1);
}
-static inline uint32_t smmuv3_read_s_init(uintptr_t base)
+static inline uint32_t __init smmuv3_read_s_init(uintptr_t base)
{
return mmio_read_32(base + SMMU_S_INIT);
}
-static inline void smmuv3_write_s_init(uintptr_t base, uint32_t value)
+static inline void __init smmuv3_write_s_init(uintptr_t base, uint32_t value)
{
mmio_write_32(base + SMMU_S_INIT, value);
}
@@ -34,7 +35,7 @@ static inline bool smmuv3_inval_pending(uintptr_t base)
*
* Returns 0 on success, and -1 on failure.
*/
-int smmuv3_init(uintptr_t smmu_base)
+int __init smmuv3_init(uintptr_t smmu_base)
{
uint32_t idr1_reg;