[RFC PATCH 0/3] Use object_get_canonical_path_component to get child description

Philippe Mathieu-Daudé posted 3 patches 3 years, 10 months ago
Test FreeBSD passed
Test docker-quick@centos7 failed
Test checkpatch passed
Test docker-mingw@fedora failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200626102744.15053-1-f4bug@amsat.org
include/hw/i2c/smbus_eeprom.h |  9 ++++++---
hw/i2c/smbus_eeprom.c         | 18 +++++++++++++++---
hw/mips/fuloong2e.c           |  2 +-
hw/ppc/sam460ex.c             |  2 +-
hw/i2c/trace-events           |  3 +++
5 files changed, 26 insertions(+), 8 deletions(-)
[RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
This RFC is simply a proof-of-concept to see if I correctly
understood Markus' suggestion, see the thread around:
https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08652.html

Philippe Mathieu-Daudé (3):
  hw/i2c/smbus_eeprom: Set QOM parent
  hw/i2c/smbus_eeprom: Add description based on child name
  hw/i2c/smbus_eeprom: Trace reset() event

 include/hw/i2c/smbus_eeprom.h |  9 ++++++---
 hw/i2c/smbus_eeprom.c         | 18 +++++++++++++++---
 hw/mips/fuloong2e.c           |  2 +-
 hw/ppc/sam460ex.c             |  2 +-
 hw/i2c/trace-events           |  3 +++
 5 files changed, 26 insertions(+), 8 deletions(-)

-- 
2.21.3


Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Aleksandar Markovic 3 years, 10 months ago
пет, 26. јун 2020. у 12:27 Philippe Mathieu-Daudé <f4bug@amsat.org> је
написао/ла:
>
> This RFC is simply a proof-of-concept to see if I correctly
> understood Markus' suggestion, see the thread around:
> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08652.html
>
> Philippe Mathieu-Daudé (3):
>   hw/i2c/smbus_eeprom: Set QOM parent
>   hw/i2c/smbus_eeprom: Add description based on child name
>   hw/i2c/smbus_eeprom: Trace reset() event
>
>  include/hw/i2c/smbus_eeprom.h |  9 ++++++---
>  hw/i2c/smbus_eeprom.c         | 18 +++++++++++++++---
>  hw/mips/fuloong2e.c           |  2 +-
>  hw/ppc/sam460ex.c             |  2 +-
>  hw/i2c/trace-events           |  3 +++
>  5 files changed, 26 insertions(+), 8 deletions(-)
>
> --

Is there any documentation related to this interface? If yes, provide
the link, and describe what is not clear to you. If not, then this
series should provide appropriate documentation.

In times we desperately need working "Continuous Integration", it
looks we instead spend our time on "Continuous Interface Guessing" -
for years.

Thanks,
Aleksandar



> 2.21.3
>

Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
On 6/26/20 5:59 PM, Aleksandar Markovic wrote:
> пет, 26. јун 2020. у 12:27 Philippe Mathieu-Daudé <f4bug@amsat.org> је
> написао/ла:
>>
>> This RFC is simply a proof-of-concept to see if I correctly
>> understood Markus' suggestion, see the thread around:
>> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08652.html
>>
>> Philippe Mathieu-Daudé (3):
>>   hw/i2c/smbus_eeprom: Set QOM parent
>>   hw/i2c/smbus_eeprom: Add description based on child name
>>   hw/i2c/smbus_eeprom: Trace reset() event
>>
>>  include/hw/i2c/smbus_eeprom.h |  9 ++++++---
>>  hw/i2c/smbus_eeprom.c         | 18 +++++++++++++++---
>>  hw/mips/fuloong2e.c           |  2 +-
>>  hw/ppc/sam460ex.c             |  2 +-
>>  hw/i2c/trace-events           |  3 +++
>>  5 files changed, 26 insertions(+), 8 deletions(-)
>>
>> --
> 
> Is there any documentation related to this interface? If yes, provide
> the link, and describe what is not clear to you. If not, then this
> series should provide appropriate documentation.

It is described in "qom/object.h":

/**
 * object_get_canonical_path_component:
 *
 * Returns: The final component in the object's canonical path.  The
canonical
 * path is the path within the composition tree starting from the root.
 * %NULL if the object doesn't have a parent (and thus a canonical path).
 */
char *object_get_canonical_path_component(const Object *obj);

> 
> In times we desperately need working "Continuous Integration", it
> looks we instead spend our time on "Continuous Interface Guessing" -
> for years.
> 
> Thanks,
> Aleksandar
> 
> 
> 
>> 2.21.3
>>
> 

Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by no-reply@patchew.org 3 years, 10 months ago
Patchew URL: https://patchew.org/QEMU/20200626102744.15053-1-f4bug@amsat.org/



Hi,

This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#! /bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-mingw@fedora J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      x86_64-softmmu/target/i386/arch_memory_mapping.o
  CC      x86_64-softmmu/target/i386/arch_dump.o
/tmp/qemu-test/src/hw/i386/pc_q35.c: In function 'pc_q35_init':
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:31: error: passing argument 1 of 'smbus_eeprom_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
  310 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |                           ~~~~^~~~~~~
      |                               |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:32: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   32 | void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      |                        ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:40: error: passing argument 2 of 'smbus_eeprom_init' makes pointer from integer without a cast [-Werror=int-conversion]
  310 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |                                        ^
      |                                        |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:56: note: expected 'const char *' but argument is of type 'int'
   32 | void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      |                                            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:9: error: too few arguments to function 'smbus_eeprom_init'
  310 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |         ^~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/i386/pc_q35.c:35:
---
   32 | void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      |      ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/tmp/qemu-test/src/rules.mak:69: hw/i386/pc_q35.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/arm/mainstone.o
  CC      aarch64-softmmu/hw/arm/microbit.o
---
  CC      aarch64-softmmu/hw/arm/realview.o
  CC      aarch64-softmmu/hw/arm/sbsa-ref.o
/tmp/qemu-test/src/hw/i386/pc_piix.c: In function 'pc_init1':
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:31: error: passing argument 1 of 'smbus_eeprom_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
  290 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |                           ~~~~^~~~~~~
      |                               |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:32: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   32 | void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      |                        ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:40: error: passing argument 2 of 'smbus_eeprom_init' makes pointer from integer without a cast [-Werror=int-conversion]
  290 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |                                        ^
      |                                        |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:56: note: expected 'const char *' but argument is of type 'int'
   32 | void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      |                                            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:9: error: too few arguments to function 'smbus_eeprom_init'
  290 |         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
      |         ^~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/i386/pc_piix.c:48:
---
      |      ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
  CC      aarch64-softmmu/hw/arm/stellaris.o
make[1]: *** [/tmp/qemu-test/src/rules.mak:69: hw/i386/pc_piix.o] Error 1
  CC      aarch64-softmmu/hw/arm/collie.o
make: *** [Makefile:527: x86_64-softmmu/all] Error 2
make: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/arm/versatilepb.o
  CC      aarch64-softmmu/hw/arm/vexpress.o
---
  CC      aarch64-softmmu/trace/generated-helpers.o
  CC      aarch64-softmmu/target/arm/translate-sve.o
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'palmetto_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:387:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  387 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 0), 0x50,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:36: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                            ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:387:69: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror=int-conversion]
  387 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 0), 0x50,
      |                                                                     ^~~~
      |                                                                     |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:60: note: expected 'const char *' but argument is of type 'int'
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                                                ~~~~~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:388:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  388 |                           eeprom_buf);
      |                           ^~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:30:36: note: expected 'I2CBus *' {aka 'struct I2CBus *'} but argument is of type 'uint8_t *' {aka 'unsigned char *'}
   30 |                            I2CBus *smbus, uint8_t address,
      |                            ~~~~~~~~^~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:387:5: error: too few arguments to function 'smbus_eeprom_init_one'
  387 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 0), 0x50,
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:
---
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |      ^~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'ast2500_evb_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:404:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  404 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), 0x50,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:36: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                            ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:404:69: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror=int-conversion]
  404 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), 0x50,
      |                                                                     ^~~~
      |                                                                     |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:60: note: expected 'const char *' but argument is of type 'int'
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                                                ~~~~~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:405:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  405 |                           eeprom_buf);
      |                           ^~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:30:36: note: expected 'I2CBus *' {aka 'struct I2CBus *'} but argument is of type 'uint8_t *' {aka 'unsigned char *'}
   30 |                            I2CBus *smbus, uint8_t address,
      |                            ~~~~~~~~^~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:404:5: error: too few arguments to function 'smbus_eeprom_init_one'
  404 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), 0x50,
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:
---
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |      ^~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'sonorapass_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:473:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  473 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), 0x54,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:36: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                            ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:473:69: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror=int-conversion]
  473 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), 0x54,
      |                                                                     ^~~~
      |                                                                     |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:60: note: expected 'const char *' but argument is of type 'int'
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                                                ~~~~~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:474:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  474 |                           eeprom4_54);
      |                           ^~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:30:36: note: expected 'I2CBus *' {aka 'struct I2CBus *'} but argument is of type 'uint8_t *' {aka 'unsigned char *'}
   30 |                            I2CBus *smbus, uint8_t address,
      |                            ~~~~~~~~^~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:473:5: error: too few arguments to function 'smbus_eeprom_init_one'
  473 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), 0x54,
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: declared here
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |      ^~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:487:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  487 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 8), 0x56,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:36: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                            ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:487:69: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror=int-conversion]
  487 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 8), 0x56,
      |                                                                     ^~~~
      |                                                                     |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:60: note: expected 'const char *' but argument is of type 'int'
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                                                ~~~~~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:488:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  488 |                           eeprom8_56);
      |                           ^~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:30:36: note: expected 'I2CBus *' {aka 'struct I2CBus *'} but argument is of type 'uint8_t *' {aka 'unsigned char *'}
   30 |                            I2CBus *smbus, uint8_t address,
      |                            ~~~~~~~~^~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:487:5: error: too few arguments to function 'smbus_eeprom_init_one'
  487 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 8), 0x56,
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:
---
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |      ^~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'witherspoon_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:526:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  526 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), 0x51,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:36: note: expected 'Object *' {aka 'struct Object *'} but argument is of type 'I2CBus *' {aka 'struct I2CBus *'}
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                            ~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:526:70: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror=int-conversion]
  526 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), 0x51,
      |                                                                      ^~~~
      |                                                                      |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:60: note: expected 'const char *' but argument is of type 'int'
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |                                                ~~~~~~~~~~~~^~~~~~~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:527:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror=incompatible-pointer-types]
  527 |                           eeprom_buf);
      |                           ^~~~~~~~~~
      |                           |
---
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:30:36: note: expected 'I2CBus *' {aka 'struct I2CBus *'} but argument is of type 'uint8_t *' {aka 'unsigned char *'}
   30 |                            I2CBus *smbus, uint8_t address,
      |                            ~~~~~~~~^~~~~
/tmp/qemu-test/src/hw/arm/aspeed.c:526:5: error: too few arguments to function 'smbus_eeprom_init_one'
  526 |     smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), 0x51,
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:
---
   29 | void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      |      ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/tmp/qemu-test/src/rules.mak:69: hw/arm/aspeed.o] Error 1
make: *** [Makefile:527: aarch64-softmmu/all] Error 2
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 669, in <module>
    sys.exit(main())
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=aca6f125269d481b8b929d0f14068405', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-v5nrghk7/src/docker-src.2020-06-26-06.34.23.4621:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=aca6f125269d481b8b929d0f14068405
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-v5nrghk7/src'
make: *** [docker-run-test-mingw@fedora] Error 2

real    3m47.102s
user    0m8.605s


The full log is available at
http://patchew.org/logs/20200626102744.15053-1-f4bug@amsat.org/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Markus Armbruster 3 years, 10 months ago
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> This RFC is simply a proof-of-concept to see if I correctly
> understood Markus' suggestion, see the thread around:
> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08652.html

Please show us output of "info qom-tree" before and after.  Feel free to
cut uninteresting parts.


Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
On 6/27/20 8:55 AM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> 
>> This RFC is simply a proof-of-concept to see if I correctly
>> understood Markus' suggestion, see the thread around:
>> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08652.html
> 
> Please show us output of "info qom-tree" before and after.  Feel free to
> cut uninteresting parts.
> 

For 'info qom-tree' this is a one-line change, because ram_memdev
is not displayed in it:

 /machine (sam460ex-machine)
   /peripheral (container)
   /peripheral-anon (container)
   /unattached (container)
-    /device[2] (smbus-eeprom)

Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by no-reply@patchew.org 3 years, 10 months ago
Patchew URL: https://patchew.org/QEMU/20200626102744.15053-1-f4bug@amsat.org/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      aarch64-softmmu/hw/arm/gumstix.o
  CC      aarch64-softmmu/hw/arm/spitz.o
/tmp/qemu-test/src/hw/i386/pc_q35.c: In function 'pc_q35_init':
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:9: error: passing argument 1 of 'smbus_eeprom_init' from incompatible pointer type [-Werror]
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_q35.c:35:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:9: error: passing argument 2 of 'smbus_eeprom_init' makes pointer from integer without a cast [-Werror]
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_q35.c:35:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
/tmp/qemu-test/src/hw/i386/pc_q35.c:310:9: error: too few arguments to function 'smbus_eeprom_init'
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_q35.c:35:0:
---
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
cc1: all warnings being treated as errors
make[1]: *** [hw/i386/pc_q35.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/arm/tosa.o
  CC      aarch64-softmmu/hw/arm/z2.o
---
  CC      aarch64-softmmu/hw/arm/xilinx_zynq.o
  CC      aarch64-softmmu/hw/arm/sabrelite.o
/tmp/qemu-test/src/hw/i386/pc_piix.c: In function 'pc_init1':
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:9: error: passing argument 1 of 'smbus_eeprom_init' from incompatible pointer type [-Werror]
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_piix.c:48:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:9: error: passing argument 2 of 'smbus_eeprom_init' makes pointer from integer without a cast [-Werror]
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_piix.c:48:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:32:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
/tmp/qemu-test/src/hw/i386/pc_piix.c:290:9: error: too few arguments to function 'smbus_eeprom_init'
         smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
         ^
In file included from /tmp/qemu-test/src/hw/i386/pc_piix.c:48:0:
---
 void smbus_eeprom_init(Object *parent_obj, const char *child_name_prefix,
      ^
cc1: all warnings being treated as errors
make[1]: *** [hw/i386/pc_piix.o] Error 1
  CC      aarch64-softmmu/hw/arm/armv7m.o
make: *** [x86_64-softmmu/all] Error 2
make: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/arm/exynos4210.o
  CC      aarch64-softmmu/hw/arm/pxa2xx.o
---
  GEN     aarch64-softmmu/target/arm/decode-t16.inc.c
  CC      aarch64-softmmu/target/arm/op_helper.o
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'palmetto_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:388:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:388:27: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:388:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct I2CBus *' but argument is of type 'uint8_t *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:388:27: error: too few arguments to function 'smbus_eeprom_init_one'
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
---
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'ast2500_evb_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:405:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:405:27: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:405:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct I2CBus *' but argument is of type 'uint8_t *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:405:27: error: too few arguments to function 'smbus_eeprom_init_one'
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
---
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'sonorapass_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:474:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom4_54);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:474:27: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror]
                           eeprom4_54);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:474:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom4_54);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct I2CBus *' but argument is of type 'uint8_t *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:474:27: error: too few arguments to function 'smbus_eeprom_init_one'
                           eeprom4_54);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: declared here
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:488:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom8_56);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:488:27: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror]
                           eeprom8_56);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:488:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom8_56);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct I2CBus *' but argument is of type 'uint8_t *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:488:27: error: too few arguments to function 'smbus_eeprom_init_one'
                           eeprom8_56);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
---
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c: In function 'witherspoon_bmc_i2c_init':
/tmp/qemu-test/src/hw/arm/aspeed.c:527:27: error: passing argument 1 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct Object *' but argument is of type 'struct I2CBus *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:527:27: error: passing argument 2 of 'smbus_eeprom_init_one' makes pointer from integer without a cast [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'const char *' but argument is of type 'int'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:527:27: error: passing argument 3 of 'smbus_eeprom_init_one' from incompatible pointer type [-Werror]
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
/tmp/qemu-test/src/include/hw/i2c/smbus_eeprom.h:29:6: note: expected 'struct I2CBus *' but argument is of type 'uint8_t *'
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
/tmp/qemu-test/src/hw/arm/aspeed.c:527:27: error: too few arguments to function 'smbus_eeprom_init_one'
                           eeprom_buf);
                           ^
In file included from /tmp/qemu-test/src/hw/arm/aspeed.c:20:0:
---
 void smbus_eeprom_init_one(Object *parent_obj, const char *child_name,
      ^
cc1: all warnings being treated as errors
make[1]: *** [hw/arm/aspeed.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [aarch64-softmmu/all] Error 2
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 669, in <module>
    sys.exit(main())
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=68470e684744434cb3b024efd74e91b6', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-kjoqvac0/src/docker-src.2020-06-26-06.34.50.6138:/var/tmp/qemu:z,ro', 'qemu:centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=68470e684744434cb3b024efd74e91b6
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-kjoqvac0/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    3m1.597s
user    0m8.290s


The full log is available at
http://patchew.org/logs/20200626102744.15053-1-f4bug@amsat.org/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [RFC PATCH 0/3] Use object_get_canonical_path_component to get child description
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
On 6/26/20 12:37 PM, no-reply@patchew.org wrote:
> Patchew URL: https://patchew.org/QEMU/20200626102744.15053-1-f4bug@amsat.org/
> 
> 
> 
> Hi,
> 
> This series failed the docker-quick@centos7 build test. Please find the testing commands and
> their output below. If you have Docker installed, you can probably reproduce it
> locally.
> 
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> make docker-image-centos7 V=1 NETWORK=1
> time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> === TEST SCRIPT END ===
> 
>   CC      aarch64-softmmu/hw/arm/gumstix.o
>   CC      aarch64-softmmu/hw/arm/spitz.o
> /tmp/qemu-test/src/hw/i386/pc_q35.c: In function 'pc_q35_init':
> /tmp/qemu-test/src/hw/i386/pc_q35.c:310:9: error: passing argument 1 of 'smbus_eeprom_init' from incompatible pointer type [-Werror]
>          smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
>          ^

This was announced in the patch.

Is there a way to give patchew a hint that it is pointless to build
a patch/series? Other CI services provides a such feature, i.e.
Travis-CI skips if a patch description contains '[ci skip]', we could
simply reuse that for patchew.