[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 5/6] xen/arm: platforms: Move init_time and specific_mapping in init section



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@xxxxxxxxxx>
---
 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(-)

diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 79e3a5f..e90b659 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -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,
diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
index 9d6e504..7086c0b 100644
--- a/xen/arch/arm/platforms/omap5.c
+++ b/xen/arch/arm/platforms/omap5.c
@@ -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,
diff --git a/xen/arch/arm/platforms/xgene-storm.c 
b/xen/arch/arm/platforms/xgene-storm.c
index 0b3492d..8c650c3 100644
--- a/xen/arch/arm/platforms/xgene-storm.c
+++ b/xen/arch/arm/platforms/xgene-storm.c
@@ -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;
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.