|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 06/19] xen: Clean up asm-generic/device.h
On Fri, 30 May 2025, Alejandro Vallejo wrote:
> There's some pretense this header may be used without
> CONFIG_HAS_DEVICE_TREE, but that's just wishful thinking. Only x86 lacks
> that option, and it fully overrides this header, typedeffing struct
> pci_dev to be device_t.
>
> Furthermore there's an include for xen/device_tree.h halfway through the
> header, but that header already includes asm/device.h, creating a cycle.
>
> Clean up the header removing ifdef guards, merging the typedef onto the
> struct definition for device_t and removing the spurious include.
>
> The only affected file is aplic.c, in riscv, which is forced now to
> include device_tree.h directly.
>
> Not a functional change.
>
> Signed-off-by: Alejandro Vallejo <agarciav@xxxxxxx>
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> ---
> xen/arch/riscv/aplic.c | 3 ++-
> xen/include/asm-generic/device.h | 18 ++----------------
> 2 files changed, 4 insertions(+), 17 deletions(-)
>
> diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
> index caba8f8993..90bf222eeb 100644
> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -9,12 +9,13 @@
> * Copyright (c) 2024-2025 Vates
> */
>
> +#include <xen/device_tree.h>
> #include <xen/errno.h>
> #include <xen/init.h>
> +#include <xen/lib.h>
> #include <xen/sections.h>
> #include <xen/types.h>
>
> -#include <asm/device.h>
> #include <asm/intc.h>
>
> static struct intc_info __ro_after_init aplic_info = {
> diff --git a/xen/include/asm-generic/device.h
> b/xen/include/asm-generic/device.h
> index 1acd1ba1d8..d485fb97dc 100644
> --- a/xen/include/asm-generic/device.h
> +++ b/xen/include/asm-generic/device.h
> @@ -6,9 +6,7 @@
>
> enum device_type
> {
> -#ifdef CONFIG_HAS_DEVICE_TREE
> DEV_DT,
> -#endif
> DEV_PCI
> };
>
> @@ -23,23 +21,15 @@ enum device_class
> };
>
> /* struct device - The basic device structure */
> -struct device
> +typedef struct device
> {
> enum device_type type;
> -#ifdef CONFIG_HAS_DEVICE_TREE
> struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> -#endif
> #ifdef CONFIG_HAS_PASSTHROUGH
> void *iommu; /* IOMMU private data */;
> struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */
> #endif
> -};
> -
> -typedef struct device device_t;
> -
> -#ifdef CONFIG_HAS_DEVICE_TREE
> -
> -#include <xen/device_tree.h>
> +} device_t;
>
> #define dev_is_dt(dev) ((dev)->type == DEV_DT)
>
> @@ -87,10 +77,6 @@ struct device_desc {
> int (*init)(struct dt_device_node *dev, const void *data);
> };
>
> -#else /* !CONFIG_HAS_DEVICE_TREE */
> -#define dev_is_dt(dev) ((void)(dev), false)
> -#endif /* CONFIG_HAS_DEVICE_TREE */
> -
> #define dev_is_pci(dev) ((dev)->type == DEV_PCI)
>
> #ifdef CONFIG_ACPI
> --
> 2.43.0
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |