All of lore.kernel.org
 help / color / mirror / Atom feed
From: "wangyanan (Y)" <wangyanan55@huawei.com>
To: Andrew Jones <drjones@redhat.com>
Cc: "Barry Song" <song.bao.hua@hisilicon.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	wanghaibin.wang@huawei.com, zhukeqian1@huawei.com,
	qemu-devel@nongnu.org, yangyicong@huawei.com,
	"Shannon Zhao" <shannon.zhaosl@gmail.com>,
	qemu-arm@nongnu.org,
	"Alistair Francis" <alistair.francis@wdc.com>,
	prime.zeng@hisilicon.com, "Paolo Bonzini" <pbonzini@redhat.com>,
	yuzenghui@huawei.com, "Igor Mammedov" <imammedo@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"David Gibson" <david@gibson.dropbear.id.au>
Subject: Re: [RFC PATCH v3 2/9] device_tree: Add qemu_fdt_add_path
Date: Mon, 17 May 2021 21:21:49 +0800	[thread overview]
Message-ID: <91dbcfd1-9a42-ed67-2ad8-45a88e703e95@huawei.com> (raw)
In-Reply-To: <20210517062741.t44x3gnlukczmjit@gator.home>


On 2021/5/17 14:27, Andrew Jones wrote:
> On Sun, May 16, 2021 at 06:28:53PM +0800, Yanan Wang wrote:
>> From: Andrew Jones <drjones@redhat.com>
> Hi Yanan,
>
> This looks good, but the authorship is no longer correct. You've
> completely rewritten it, so I think the most I deserve is a
> Co-developed-by and maybe even just a Suggested-by. When changing
> the authorship and tags, you can also add a
Hi Drew,

Thanks for pointing out this, I will correct it.
> Reviewed-by: Andrew Jones <drjones@redhat.com>
Thanks,
Yanan
> Thanks,
> drew
>
>
>> qemu_fdt_add_path() works like qemu_fdt_add_subnode(), except it
>> also adds all missing subnodes from the given path. We'll use it
>> in a coming patch where we will add cpu-map to the device tree.
>>
>> And we also tweak an error message of qemu_fdt_add_subnode().
>>
>> Cc: David Gibson <david@gibson.dropbear.id.au>
>> Cc: Alistair Francis <alistair.francis@wdc.com>
>> Signed-off-by: Andrew Jones <drjones@redhat.com>
>> Co-developed-by: Yanan Wang <wangyanan55@huawei.com>
>> Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
>> ---
>>   include/sysemu/device_tree.h |  1 +
>>   softmmu/device_tree.c        | 44 ++++++++++++++++++++++++++++++++++--
>>   2 files changed, 43 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h
>> index 8a2fe55622..ef060a9759 100644
>> --- a/include/sysemu/device_tree.h
>> +++ b/include/sysemu/device_tree.h
>> @@ -121,6 +121,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 b621f63fba..3965c834ca 100644
>> --- a/softmmu/device_tree.c
>> +++ b/softmmu/device_tree.c
>> @@ -540,8 +540,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);
>>       }
>>   
>> @@ -549,6 +549,46 @@ int qemu_fdt_add_subnode(void *fdt, const char *name)
>>       return retval;
>>   }
>>   
>> +/*
>> + * qemu_fdt_add_path: Like qemu_fdt_add_subnode(), but will add
>> + * all missing subnodes from the given path.
>> + */
>> +int qemu_fdt_add_path(void *fdt, const char *path)
>> +{
>> +    const char *name;
>> +    const char *p = path;
>> +    int namelen, retval;
>> +    int parent = 0;
>> +
>> +    if (path[0] != '/') {
>> +        return -1;
>> +    }
>> +
>> +    while (p) {
>> +        name = p + 1;
>> +        p = strchr(name, '/');
>> +        namelen = p != NULL ? p - name : strlen(name);
>> +
>> +        retval = fdt_subnode_offset_namelen(fdt, parent, name, namelen);
>> +        if (retval < 0 && retval != -FDT_ERR_NOTFOUND) {
>> +            error_report("%s: Unexpected error in finding subnode %.*s: %s",
>> +                         __func__, namelen, name, fdt_strerror(retval));
>> +            exit(1);
>> +        } else if (retval == -FDT_ERR_NOTFOUND) {
>> +            retval = fdt_add_subnode_namelen(fdt, parent, name, namelen);
>> +            if (retval < 0) {
>> +                error_report("%s: Failed to create subnode %.*s: %s",
>> +                             __func__, namelen, name, fdt_strerror(retval));
>> +                exit(1);
>> +            }
>> +        }
>> +
>> +        parent = retval;
>> +    }
>> +
>> +    return retval;
>> +}
>> +
>>   void qemu_fdt_dumpdtb(void *fdt, int size)
>>   {
>>       const char *dumpdtb = current_machine->dumpdtb;
>> -- 
>> 2.19.1
>>
> .


  reply	other threads:[~2021-05-17 13:22 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-16 10:28 [RFC PATCH v3 0/9] hw/arm/virt: Introduce cpu topology support Yanan Wang
2021-05-16 10:28 ` [RFC PATCH v3 1/9] hw/arm/virt: Disable cpu topology support on older machine types Yanan Wang
2021-05-16 10:28 ` [RFC PATCH v3 2/9] device_tree: Add qemu_fdt_add_path Yanan Wang
2021-05-17  3:11   ` David Gibson
2021-05-17 13:18     ` wangyanan (Y)
2021-05-17  6:27   ` Andrew Jones
2021-05-17 13:21     ` wangyanan (Y) [this message]
2021-05-16 10:28 ` [RFC PATCH v3 3/9] hw/arm/virt: Add cpu-map to device tree Yanan Wang
2021-05-17  6:41   ` Andrew Jones
2021-05-17 15:00     ` wangyanan (Y)
2021-05-18  7:46       ` Andrew Jones
2021-05-18 10:50         ` wangyanan (Y)
2021-05-16 10:28 ` [RFC PATCH v3 4/9] hw/arm/virt: Initialize the present cpu members Yanan Wang
2021-05-17  6:43   ` Andrew Jones
2021-05-17 20:48   ` Salil Mehta
2021-05-18  4:42     ` wangyanan (Y)
2021-05-18  7:04       ` Salil Mehta
2021-05-18  7:04         ` Salil Mehta
2021-05-18  7:50         ` Andrew Jones
2021-05-18  7:50           ` Andrew Jones
2021-05-18 18:50           ` Salil Mehta
2021-05-18 18:50             ` Salil Mehta
2021-05-16 10:28 ` [RFC PATCH v3 5/9] hw/arm/virt-acpi-build: Use possible cpus in generation of DSDT Yanan Wang
2021-05-16 10:28 ` [RFC PATCH v3 6/9] hw/arm/virt-acpi-build: Use possible cpus in generation of MADT Yanan Wang
2021-05-17  7:42   ` Andrew Jones
2021-05-17 16:27     ` wangyanan (Y)
2021-05-18  8:15       ` Andrew Jones
2021-05-18 11:47         ` wangyanan (Y)
2021-05-18 13:40           ` Andrew Jones
2021-05-17 17:07   ` Salil Mehta
2021-05-18  5:02     ` wangyanan (Y)
2021-05-18  6:47       ` Salil Mehta
2021-05-18  6:47         ` Salil Mehta
2021-05-18 11:58         ` wangyanan (Y)
2021-05-18 11:58           ` wangyanan (Y)
2021-05-16 10:28 ` [RFC PATCH v3 7/9] hw/acpi/aml-build: Add Processor hierarchy node structure Yanan Wang
2021-05-17  7:47   ` Andrew Jones
2021-05-16 10:28 ` [RFC PATCH v3 8/9] hw/arm/virt-acpi-build: Generate PPTT table Yanan Wang
2021-05-17  8:02   ` Andrew Jones
2021-05-17 13:43     ` wangyanan (Y)
2021-05-17 14:45       ` Andrew Jones
2021-05-17 16:02         ` wangyanan (Y)
2021-05-16 10:29 ` [RFC PATCH v3 9/9] hw/arm/virt: Add separate -smp parsing function for ARM machines Yanan Wang
2021-05-17  8:24   ` Andrew Jones
2021-05-18  2:16     ` wangyanan (Y)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91dbcfd1-9a42-ed67-2ad8-45a88e703e95@huawei.com \
    --to=wangyanan55@huawei.com \
    --cc=alistair.francis@wdc.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=drjones@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=prime.zeng@hisilicon.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhaosl@gmail.com \
    --cc=song.bao.hua@hisilicon.com \
    --cc=wanghaibin.wang@huawei.com \
    --cc=yangyicong@huawei.com \
    --cc=yuzenghui@huawei.com \
    --cc=zhukeqian1@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.