[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v5 09/10] xen/dt: ifdef out DEV_DT-related bits from device_tree.{c,h}
Architectures that don't discover devices via DT may skip anything to do with device_t during the DT unflattening phase. Make device-tree.c stop requiring CONFIG_HAS_DEVICE_TREE_DISCOVERY so it may function with CONFIG_DEVICE_TREE_PARSE alone. This allows CONFIG_DEVICE_TREE_PARSE to unflatten a DT ignoring its devices if CONFIG_HAS_DEVICE_TREE_DISCOVERY is not selected. Signed-off-by: Alejandro Vallejo <agarciav@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- v5: * New commit message to make it more general --- xen/common/device-tree/device-tree.c | 2 ++ xen/include/xen/device_tree.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/device-tree.c index 725ff71646..741e2ce585 100644 --- a/xen/common/device-tree/device-tree.c +++ b/xen/common/device-tree/device-tree.c @@ -2029,9 +2029,11 @@ static unsigned long unflatten_dt_node(const void *fdt, ((char *)pp->value)[sz - 1] = 0; dt_dprintk("fixed up name for %s -> %s\n", pathp, (char *)pp->value); +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY /* Generic device initialization */ np->dev.type = DEV_DT; np->dev.of_node = np; +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ } } if ( allnextpp ) diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h index b6d16756fc..ace7fc3274 100644 --- a/xen/include/xen/device_tree.h +++ b/xen/include/xen/device_tree.h @@ -108,9 +108,12 @@ struct dt_device_node { */ struct list_head domain_list; +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY struct device dev; +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ }; +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY #define dt_to_dev(dt_node) (&(dt_node)->dev) static inline struct dt_device_node *dev_to_dt(struct device *dev) @@ -119,6 +122,7 @@ static inline struct dt_device_node *dev_to_dt(struct device *dev) return container_of(dev, struct dt_device_node, dev); } +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ #define MAX_PHANDLE_ARGS 16 struct dt_phandle_args { -- 2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |