On Thu, Feb 25, 2021 at 08:54:40PM +0800, Ying Fang wrote: > > > On 2/25/2021 7:03 PM, Andrew Jones wrote: > > Hi Ying Fang, > > > > I don't see any change in this patch from what I have in my > > tree, so this should be > > > > From: Andrew Jones <drjo...@redhat.com> > > > > Thanks, > > drew > > > > Yes, I picked it from your qemu branch: > https://github.com/rhdrjones/qemu/commit/ecfc1565f22187d2c715a99bbcd35cf3a7e428fa > > So what can I do to make it "From: Andrew Jones <drjo...@redhat.com>" ? > > Can I made it by using git commit --amend like below ? > > git commit --amend --author "Andrew Jones <drjo...@redhat.com>"
That's one way to fix it now, but normally when you apply/cherry-pick a patch it will keep the authorship. Then, all you have to do is post like usual and the "From: ..." will show up automatically. Thanks, drew > > > On Thu, Feb 25, 2021 at 04:56:23PM +0800, Ying Fang wrote: > > > qemu_fdt_add_path() works like qemu_fdt_add_subnode(), except > > > it also adds any missing parent nodes. We also tweak an error > > > message of qemu_fdt_add_subnode(). > > > > > > Signed-off-by: Andrew Jones <drjo...@redhat.com> > > > Signed-off-by: Ying Fang <fangyi...@huawei.com> > > > --- > > > include/sysemu/device_tree.h | 1 + > > > softmmu/device_tree.c | 45 ++++++++++++++++++++++++++++++++++-- > > > 2 files changed, 44 insertions(+), 2 deletions(-) > > > > > > diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h > > > index 982c89345f..15fb98af98 100644 > > > --- a/include/sysemu/device_tree.h > > > +++ b/include/sysemu/device_tree.h > > > @@ -104,6 +104,7 @@ uint32_t qemu_fdt_get_phandle(void *fdt, const char > > > *path); > > > uint32_t qemu_fdt_alloc_phandle(void *fdt); > > > int qemu_fdt_nop_node(void *fdt, const char *node_path); > > > int qemu_fdt_add_subnode(void *fdt, const char *name); > > > +int qemu_fdt_add_path(void *fdt, const char *path); > > > #define qemu_fdt_setprop_cells(fdt, node_path, property, ...) > > > \ > > > do { > > > \ > > > diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c > > > index b9a3ddc518..1e3857ca0c 100644 > > > --- a/softmmu/device_tree.c > > > +++ b/softmmu/device_tree.c > > > @@ -515,8 +515,8 @@ int qemu_fdt_add_subnode(void *fdt, const char *name) > > > retval = fdt_add_subnode(fdt, parent, basename); > > > if (retval < 0) { > > > - error_report("FDT: Failed to create subnode %s: %s", name, > > > - fdt_strerror(retval)); > > > + error_report("%s: Failed to create subnode %s: %s", > > > + __func__, name, fdt_strerror(retval)); > > > exit(1); > > > } > > > @@ -524,6 +524,47 @@ int qemu_fdt_add_subnode(void *fdt, const char *name) > > > return retval; > > > } > > > +/* > > > + * Like qemu_fdt_add_subnode(), but will add all missing > > > + * subnodes in the path. > > > + */ > > > +int qemu_fdt_add_path(void *fdt, const char *path) > > > +{ > > > + char *dupname, *basename, *p; > > > + int parent, retval = -1; > > > + > > > + if (path[0] != '/') { > > > + return retval; > > > + } > > > + > > > + parent = fdt_path_offset(fdt, "/"); > > > + p = dupname = g_strdup(path); > > > + > > > + while (p) { > > > + *p = '/'; > > > + basename = p + 1; > > > + p = strchr(p + 1, '/'); > > > + if (p) { > > > + *p = '\0'; > > > + } > > > + retval = fdt_path_offset(fdt, dupname); > > > + if (retval < 0 && retval != -FDT_ERR_NOTFOUND) { > > > + error_report("%s: Invalid path %s: %s", > > > + __func__, path, fdt_strerror(retval)); > > > + exit(1); > > > + } else if (retval == -FDT_ERR_NOTFOUND) { > > > + retval = fdt_add_subnode(fdt, parent, basename); > > > + if (retval < 0) { > > > + break; > > > + } > > > + } > > > + parent = retval; > > > + } > > > + > > > + g_free(dupname); > > > + return retval; > > > +} > > > + > > > void qemu_fdt_dumpdtb(void *fdt, int size) > > > { > > > const char *dumpdtb = current_machine->dumpdtb; > > > -- > > > 2.23.0 > > > > > > > > > > . > > >