@@ -22,6 +22,7 @@
*/
#include <xen/acpi.h>
+#include <xen/init.h>
#include <xen/mm.h>
char *__acpi_map_table(paddr_t phys, unsigned long size)
@@ -349,7 +349,7 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
return fdt_totalsize(fdt);
}
-const char *boot_fdt_cmdline(const void *fdt)
+const __init char *boot_fdt_cmdline(const void *fdt)
{
int node;
const struct fdt_property *prop;
@@ -1,5 +1,6 @@
#include <xen/cpu.h>
#include <xen/cpumask.h>
+#include <xen/init.h>
#include <xen/mm.h>
#include <xen/sizes.h>
#include <xen/smp.h>
@@ -19,6 +19,7 @@
#include <asm/device.h>
#include <xen/errno.h>
+#include <xen/init.h>
#include <xen/lib.h>
extern const struct device_desc _sdevice[], _edevice[];
@@ -19,6 +19,7 @@
#include <xen/types.h>
+#include <xen/init.h>
#include <xen/mm.h>
#include <xen/smp.h>
#include <asm/cpufeature.h>
@@ -23,7 +23,6 @@
#ifndef _ASM_ARM_ACPI_H
#define _ASM_ARM_ACPI_H
-#include <xen/init.h>
#include <asm/page.h>
#include <asm/setup.h>
@@ -43,9 +42,9 @@ typedef enum {
TBL_MMAX,
} EFI_MEM_RES;
-bool __init acpi_psci_present(void);
-bool __init acpi_psci_hvc_present(void);
-void __init acpi_smp_init_cpus(void);
+bool acpi_psci_present(void);
+bool acpi_psci_hvc_present(void);
+void acpi_smp_init_cpus(void);
/*
* This function returns the offset of a given ACPI/EFI table in the allocated
@@ -7,7 +7,6 @@
#ifndef __ASSEMBLY__
-#include <xen/init.h>
#include <xen/types.h>
#include <xen/stringify.h>
@@ -28,7 +27,7 @@ typedef void (*alternative_cb_t)(const struct alt_instr *alt,
const uint32_t *origptr, uint32_t *updptr,
int nr_inst);
-void __init apply_alternatives_all(void);
+void apply_alternatives_all(void);
int apply_alternatives(const struct alt_instr *start, const struct alt_instr *end);
#define ALTINSTR_ENTRY(feature, cb) \
@@ -1,8 +1,6 @@
#ifndef __ASM_ARM_DEVICE_H
#define __ASM_ARM_DEVICE_H
-#include <xen/init.h>
-
enum device_type
{
DEV_DT,
@@ -68,8 +66,8 @@ struct acpi_device_desc {
*
* Return 0 on success.
*/
-int __init acpi_device_init(enum device_class class,
- const void *data, int class_type);
+int acpi_device_init(enum device_class class,
+ const void *data, int class_type);
/**
* device_init - Initialize a device
@@ -79,8 +77,8 @@ int __init acpi_device_init(enum device_class class,
*
* Return 0 on success.
*/
-int __init device_init(struct dt_device_node *dev, enum device_class class,
- const void *data);
+int device_init(struct dt_device_node *dev, enum device_class class,
+ const void *data);
/**
* device_get_type - Get the type of the device
@@ -24,9 +24,9 @@ struct arch_iommu
#define iommu_use_hap_pt(d) (has_iommu_pt(d))
const struct iommu_ops *iommu_get_ops(void);
-void __init iommu_set_ops(const struct iommu_ops *ops);
+void iommu_set_ops(const struct iommu_ops *ops);
-int __init iommu_hardware_setup(void);
+int iommu_hardware_setup(void);
#endif /* __ARCH_ARM_IOMMU_H__ */
@@ -1,7 +1,6 @@
#ifndef __ASM_ARM_PLATFORM_H
#define __ASM_ARM_PLATFORM_H
-#include <xen/init.h>
#include <xen/sched.h>
#include <xen/mm.h>
#include <xen/device_tree.h>
@@ -46,9 +45,9 @@ struct platform_desc {
*/
#define PLATFORM_QUIRK_GIC_64K_STRIDE (1 << 0)
-void __init platform_init(void);
-int __init platform_init_time(void);
-int __init platform_specific_mapping(struct domain *d);
+void platform_init(void);
+int platform_init_time(void);
+int platform_specific_mapping(struct domain *d);
#ifdef CONFIG_ARM_32
int platform_smp_init(void);
int platform_cpu_up(int cpu);
@@ -74,14 +74,14 @@ void discard_initial_modules(void);
void dt_unreserved_regions(paddr_t s, paddr_t e,
void (*cb)(paddr_t, paddr_t), int first);
-size_t __init boot_fdt_info(const void *fdt, paddr_t paddr);
-const char __init *boot_fdt_cmdline(const void *fdt);
+size_t boot_fdt_info(const void *fdt, paddr_t paddr);
+const char *boot_fdt_cmdline(const void *fdt);
struct bootmodule *add_boot_module(bootmodule_kind kind,
paddr_t start, paddr_t size,
const char *cmdline);
struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
-const char * __init boot_module_kind_as_string(bootmodule_kind kind);
+const char *boot_module_kind_as_string(bootmodule_kind kind);
#endif
/*
@@ -15,7 +15,6 @@
#include <public/xen.h>
#include <public/device_tree_defs.h>
#include <xen/kernel.h>
-#include <xen/init.h>
#include <xen/string.h>
#include <xen/types.h>
#include <xen/list.h>
@@ -169,7 +168,7 @@ int device_tree_for_each_node(const void *fdt,
* Create a hierarchical device tree for the host DTB to be able
* to retrieve parents.
*/
-void __init dt_unflatten_host_device_tree(void);
+void dt_unflatten_host_device_tree(void);
/**
* IRQ translation callback
@@ -204,7 +203,7 @@ extern const struct dt_device_node *dt_interrupt_controller;
*
* If found, return the interrupt controller device node.
*/
-struct dt_device_node * __init
+struct dt_device_node *
dt_find_interrupt_controller(const struct dt_device_match *matches);
#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
In Xen, it is common to add __init to the declaration and not the prototype. Remove the few __init on some prototypes which allows to avoid the inclusion of init.h in headers. With these changes, init.h is now required to be included on some c files. Also, add __init where it was missing in declaration. Signed-off-by: Julien Grall <julien.grall@arm.com> --- Changes in v2: - Remove __init in asm-arm/iommu.h prototypes --- xen/arch/arm/acpi/lib.c | 1 + xen/arch/arm/bootfdt.c | 2 +- xen/arch/arm/cpuerrata.c | 1 + xen/arch/arm/device.c | 1 + xen/arch/arm/psci.c | 1 + xen/include/asm-arm/acpi.h | 7 +++---- xen/include/asm-arm/alternative.h | 3 +-- xen/include/asm-arm/device.h | 10 ++++------ xen/include/asm-arm/iommu.h | 4 ++-- xen/include/asm-arm/platform.h | 7 +++---- xen/include/asm-arm/setup.h | 6 +++--- xen/include/xen/device_tree.h | 5 ++--- 12 files changed, 23 insertions(+), 25 deletions(-)