@@ -37,7 +37,7 @@ static bool_t secure_firmware;
#define SMC_CMD_CPU1BOOT (-4)
-static int exynos5_init_time(void)
+static int __init exynos5_init_time(void)
{
uint32_t reg;
void __iomem *mct;
@@ -80,7 +80,7 @@ static int exynos5_init_time(void)
}
/* Additional mappings for dom0 (Not in the DTS) */
-static int exynos5250_specific_mapping(struct domain *d)
+static int __init exynos5250_specific_mapping(struct domain *d)
{
/* Map the chip ID */
map_mmio_regions(d, paddr_to_pfn(EXYNOS5_PA_CHIPID), 1,
@@ -45,7 +45,7 @@ static uint16_t num_den[8][2] = {
* clocks, adjusting the increment per clock in hardware accordingly to
* maintain a constant count rate.
*/
-static int omap5_init_time(void)
+static int __init omap5_init_time(void)
{
void __iomem *ckgen_prm_base;
void __iomem *rt_ct_base;
@@ -99,7 +99,7 @@ static int omap5_init_time(void)
}
/* Additional mappings for dom0 (not in the DTS) */
-static int omap5_specific_mapping(struct domain *d)
+static int __init omap5_specific_mapping(struct domain *d)
{
/* Map the PRM module */
map_mmio_regions(d, paddr_to_pfn(OMAP5_PRM_BASE), 2,
@@ -40,7 +40,7 @@ static uint32_t xgene_storm_quirks(void)
return PLATFORM_QUIRK_GIC_64K_STRIDE|PLATFORM_QUIRK_GUEST_PIRQ_NEED_EOI;
}
-static int map_one_mmio(struct domain *d, const char *what,
+static int __init map_one_mmio(struct domain *d, const char *what,
unsigned long start, unsigned long end)
{
int ret;
@@ -54,8 +54,8 @@ static int map_one_mmio(struct domain *d, const char *what,
return ret;
}
-static int map_one_spi(struct domain *d, const char *what,
- unsigned int spi, unsigned int type)
+static int __init map_one_spi(struct domain *d, const char *what,
+ unsigned int spi, unsigned int type)
{
unsigned int irq;
int ret;
@@ -79,10 +79,10 @@ static int map_one_spi(struct domain *d, const char *what,
}
/* Creates MMIO mappings base..end as well as 4 SPIs from the given base. */
-static int xgene_storm_pcie_specific_mapping(struct domain *d,
- const struct dt_device_node *node,
- paddr_t base, paddr_t end,
- int base_spi)
+static int __init xgene_storm_pcie_specific_mapping(struct domain *d,
+ const struct dt_device_node *node,
+ paddr_t base, paddr_t end,
+ int base_spi)
{
int ret;
@@ -121,7 +121,7 @@ err:
* "interrupt-map" properties to domain 0). Instead for now map the
* necessary resources manually.
*/
-static int xgene_storm_specific_mapping(struct domain *d)
+static int __init xgene_storm_specific_mapping(struct domain *d)
{
struct dt_device_node *node = NULL;
int ret;
The callbacks init_time and specific_mapping are respectively used during timer initialization and DOM0 building. These 2 taks only happen during Xen boot. Signed-off-by: Julien Grall <julien.grall@linaro.org> --- xen/arch/arm/platforms/exynos5.c | 4 ++-- xen/arch/arm/platforms/omap5.c | 4 ++-- xen/arch/arm/platforms/xgene-storm.c | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-)