|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 02/25] xen: arm: move declaration of map_device_irqs_to_domain() to common header
As map_device_irqs_to_domain() is used unconditionally by common part of
dom0less code, move the prototype to a common header.
fdt-domain-build.h is chosen as map_device_irqs_to_domain() could be
also called indirectly in Arm's DOM0-related code and DT overlay feature.
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
Changes in v4:
- Reword commit message: use imperative mood ("move the prototype") and
mention the DT overlay feature alongside Arm's DOM0-related code.
- Add #include <xen/fdt-domain-build.h> to Arm's device.c so the definition
site sees the prototype.
- Drop the duplicated function description above the definition in device.c
(it now lives only on the prototype in fdt-domain-build.h).
---
Changes in v3:
- Add tag arm and move this patch earlier before RISC-V-related patches.
---
Changes in v2:
- New patch.
---
xen/arch/arm/device.c | 9 +--------
xen/arch/arm/include/asm/setup.h | 3 ---
xen/include/xen/fdt-domain-build.h | 13 +++++++++++++
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 7d9644fd8b6d..b11366d722ef 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -11,6 +11,7 @@
#include <xen/device_tree.h>
#include <xen/dt-overlay.h>
#include <xen/errno.h>
+#include <xen/fdt-domain-build.h>
#include <xen/iocap.h>
#include <xen/lib.h>
@@ -117,14 +118,6 @@ int __overlay_init map_range_to_domain(const struct
dt_device_node *dev,
return 0;
}
-/*
- * map_device_irqs_to_domain retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- * < 0 error
- * 0 success
- */
int __overlay_init map_device_irqs_to_domain(struct domain *d,
struct dt_device_node *dev,
bool need_mapping,
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 14fa92d5c1db..2af780512540 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -51,9 +51,6 @@ void init_traps(void);
int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t
p2mt,
struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
-int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
- bool need_mapping, struct rangeset *irq_ranges);
-
int map_irq_to_domain(struct domain *d, unsigned int irq,
bool need_mapping, const char *devname);
diff --git a/xen/include/xen/fdt-domain-build.h
b/xen/include/xen/fdt-domain-build.h
index 671486c1c837..8612e98dfda5 100644
--- a/xen/include/xen/fdt-domain-build.h
+++ b/xen/include/xen/fdt-domain-build.h
@@ -12,6 +12,7 @@
struct domain;
struct page_info;
+struct rangeset;
struct membanks;
typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
@@ -79,6 +80,18 @@ static inline void set_domain_type(struct domain *d, const
struct kernel_info *k
#endif
}
+/*
+ * Retrieves the interrupts configuration from a device tree node and maps
+ * those interrupts to the target domain.
+ *
+ * Returns:
+ * < 0 error
+ * 0 success
+ */
+int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
+ bool need_mapping,
+ struct rangeset *irq_ranges);
+
#endif /* __XEN_FDT_DOMAIN_BUILD_H__ */
/*
--
2.54.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |