[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN][PATCH v7 04/19] common/device_tree: change __unflatten_device_tree() type
On Tue, Jun 06, 2023 at 12:09:35PM -0700, Vikram Garhwal wrote: > Hi Julien, > Will update the commit message regarding why we need to export this for dtbo > programming. > > On 6/5/23 12:04 PM, Julien Grall wrote: > > Hi, > > > > Title: > > > > 'type' is a bit confusing here. How about "Export > > __unflatten_device_tre()"? > > > > On 02/06/2023 01:48, Vikram Garhwal wrote: > > > Following changes are done to __unflatten_device_tree(): > > > 1. __unflatten_device_tree() is renamed to unflatten_device_tree(). > > > 2. Remove __init and static function type. > > > > As there is no external caller yet, please explain why you want to > > export the function. Update the commit message in v8. > > > > Cheers, > > > > > > > > Signed-off-by: Vikram Garhwal <vikram.garhwal@xxxxxxx> > > > Reviewed-by: Henry Wang <Henry.Wang@xxxxxxx> > > > --- > > > xen/common/device_tree.c | 9 ++++----- > > > xen/include/xen/device_tree.h | 5 +++++ > > > 2 files changed, 9 insertions(+), 5 deletions(-) > > > > > > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c > > > index bbdab07596..16b4b4e946 100644 > > > --- a/xen/common/device_tree.c > > > +++ b/xen/common/device_tree.c > > > @@ -2083,7 +2083,7 @@ static unsigned long unflatten_dt_node(const > > > void *fdt, > > > } > > > /** > > > - * __unflatten_device_tree - create tree of device_nodes from flat blob > > > + * unflatten_device_tree - create tree of device_nodes from flat blob > > > * > > > * unflattens a device-tree, creating the > > > * tree of struct device_node. It also fills the "name" and "type" > > > @@ -2092,8 +2092,7 @@ static unsigned long unflatten_dt_node(const > > > void *fdt, > > > * @fdt: The fdt to expand > > > * @mynodes: The device_node tree created by the call > > > */ > > > -static int __init __unflatten_device_tree(const void *fdt, > > > - struct dt_device_node > > > **mynodes) > > > +int unflatten_device_tree(const void *fdt, struct dt_device_node > > > **mynodes) > > > { > > > unsigned long start, mem, size; > > > struct dt_device_node **allnextp = mynodes; > > > @@ -2230,10 +2229,10 @@ dt_find_interrupt_controller(const struct > > > dt_device_match *matches) > > > void __init dt_unflatten_host_device_tree(void) > > > { > > > - int error = __unflatten_device_tree(device_tree_flattened, > > > &dt_host); > > > + int error = unflatten_device_tree(device_tree_flattened, &dt_host); > > > if ( error ) > > > - panic("__unflatten_device_tree failed with error %d\n", error); > > > + panic("unflatten_device_tree failed with error %d\n", error); > > > dt_alias_scan(); > > > > This function doesn't seem to be called in the case of the overlay > > device-tree. Does this mean that it will never contain any alias? > > I haven't seen any overlay example for FPGA use cases where alias are added. I have added a TODO in patch 16/19 where we are calling unflatten_device_tree(). > > > } > > > diff --git a/xen/include/xen/device_tree.h > > > b/xen/include/xen/device_tree.h > > > index c2eada7489..2c35c0d391 100644 > > > --- a/xen/include/xen/device_tree.h > > > +++ b/xen/include/xen/device_tree.h > > > @@ -178,6 +178,11 @@ int device_tree_for_each_node(const void *fdt, > > > int node, > > > */ > > > void dt_unflatten_host_device_tree(void); > > > +/** > > > + * unflatten any device tree. > > > > Most of the exported function in device_tre.h have documentation. Can > > you do the same here? Done! > > > > > + */ > > > +int unflatten_device_tree(const void *fdt, struct dt_device_node > > > **mynodes); > > > > NIT: From an external interface perspective, do we actually need to pass > > an extra pointer? Can't we instead, return the pointer? We will also need the error from the function. So, that's why i kept it as it is. Please review v8. I will send it in few hours. > > > > > + > > > /** > > > * IRQ translation callback > > > * TODO: For the moment we assume that we only have ONE > > > > Cheers, > > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |