So, v4 takes a different approach (again). The QOM level patch should be pretty uncontroversial, it just reports the duplicate via the Error**. Then in the qdev device_initfn we check for and report errors via assert_no_error() rather than just throwing them away. (In an ideal world maybe there'd be a way for the initfn to report the error up yet another level, but not with the current qdev API.)
This time for sure! (I have a theory that passing NULL as an Error** is almost never a good idea. It's a shame it's the path of least resistance for using the API, it would be much better if the wrong thing was the hard thing to do.) Peter Maydell (2): qom: Detect attempts to add a property that already exists hw/qdev: Abort rather than ignoring errors adding device properties hw/qdev.c | 10 +++++++--- qom/object.c | 13 ++++++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) -- 1.7.9.5