{"push_id":1374549242,"size":11,"distinct_size":11,"ref":"refs/heads/work/device-list-abstract-properties","head":"9d9b1aba031ed26ed3f51af370d0200e1c8fa381","before":"d53f59fd8b24cd55f50053a9bd7f0cb92388169e","commits":[{"sha":"fc093a032a80263f5087d379f61941605939b6fa","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qdev: device_class_set_props() function\n\nReplace direct assignment of DeviceClass::props with a\ndevice_class_set_props() function. The new function will handle\nregistration of class properties, later.\n\nMost of the existing code was converted using the Coccinelle\npatch below. Exceptions are:\n* manual conversion of target-ppc/translate_init.c;\n* reordering of code at e1000e_class_init() to ensure\n  device_class_set_props() is called after initialization\n  of the PropertyInfo structs.\n\nCoccinelle patch:\n\n  @@\n  identifier DC;\n  expression PROPS;\n  typedef DeviceClass;\n  @@\n   DeviceClass *DC;\n   ...\n  -DC->props = PROPS;\n  +device_class_set_props(DC, PROPS);\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges v1 -> v2:\n* s/qdev_class_set_props/device_class_set_props/\n  * Suggested-by: Andreas Färber <afaerber@suse.de>\n\nChanges v2 -> v3:\n* Rebased to latest qemu.git master\n\nChanges v3 -> v4:\n* Fix e1000e initialization ordering (fixes \"make check\" failure)\n  * Reported-by: Igor Mammedov <imammedo@redhat.com>\n* Rebased to latest qemu.git master (new functions changed:\n  floppy_drive_class_init(), pnv_chip_class_init(),\n  pnv_core_class_init())","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/fc093a032a80263f5087d379f61941605939b6fa"},{"sha":"d3b6cb10054e076ac1f2fd33ca9312eab5980edb","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qdev: Extract property-default code to qdev_property_set_to_default()\n\nThe code that registers qdev properties will be split from the\ncode that initializes default values on instance_init, so move it\nto a separate function.\n\nReviewed-by: Igor Mammedov <imammedo@redhat.com>\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v1 -> v4:\n* (none)","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/d3b6cb10054e076ac1f2fd33ca9312eab5980edb"},{"sha":"10e759068eea3ab65984955bfd03597059fb4377","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qdev: Register static properties as class properties\n\nInstead of registering qdev static properties on instance_init,\nregister them as class properties, at qdev_class_set_props().\n\nqdev_property_add_legacy() was replaced by an equivalent\nqdev_class_property_add_legacy() function.\nqdev_property_add_static(), on the other hand, can't be\neliminated yet because it is used by arm_cpu_post_init().\n\nAs class properties don't have a release function called when an\nobject instance is destroyed, the release functions for\nproperties are called manually from device_finalize().\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v1 -> v2:\n* (none)\n\nChanges v2 -> v3:\n* Fix code alignemnt\n  * Reported-by: Igor Mammedov <imammedo@redhat.com>\n\nChanges series v3 -> v4:\n* s/Device/Class/ on qdev_class_property_add_legacy() doc comment\n  * Reported-by: Igor Mammedov <imammedo@redhat.com>\n* Call prop->info->release on instance_finalize (fix\n  tests/drive_del-test failure)","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/10e759068eea3ab65984955bfd03597059fb4377"},{"sha":"f0ec79d7a95e9fa0cbf7f749355f3cae3f00d87e","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qom: object_class_property_iter_init() function\n\nThe new function will allow us to iterate over class properties\nusing the same logic we use for object properties. Unit test\nincluded.\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v1 -> v3:\n* (none)\n\nChanges series v3 -> v4:\n* Trivial whitespace change (removed extra newline)","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/f0ec79d7a95e9fa0cbf7f749355f3cae3f00d87e"},{"sha":"aed309a77e205c3fe4f704eb2e3217dd74f60464","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qmp: Support abstract classes on device-list-properties\n\nWhen an abstract class is used on device-list-properties, we can\nsimply return the class properties registered for the class.\n\nThis will be useful if management software needs to query for\nsupported options that apply to all devices of a given type (e.g.\noptions supported by all CPU models, options supported by all PCI\ndevices).\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v1 -> v2:\n* (none)\n\nChanges series v2 -> v3:\n* Reworded commit message\n\nChanges series v3 -> v4:\n* (none)","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/aed309a77e205c3fe4f704eb2e3217dd74f60464"},{"sha":"62675d1630eba25d7dcf90423378dc40a350f757","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qdev: Warning about using qdev_property_add_static() in new code\n\nThe only remaining user of qdev_property_add_static() is\narm_cpu_post_init(), but removing it may take some work. While we\ndon't change it, warn people to not use the function in new code.\n\nCc: Peter Maydell <peter.maydell@linaro.org>\nCc: qemu-arm@nongnu.org\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v1 -> v3:\n* (none)\n\nChanges series v3 -> v4:\n* Rewrote commit message to refer to correct function name\n* s/qdev_class_set_props/device_class_set_props/ (function had\n  been renamed in series v3)","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/62675d1630eba25d7dcf90423378dc40a350f757"},{"sha":"d5b006a6cbe395f7592c8c793dc32aa432ab6ca9","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"e1000e: Use object_class_property_set_description()\n\nInstead of hacking the custom PropertyInfo structs, use\nobject_class_property_set_description() to set property\ndescriptions.\n\nThe existing PropertyInfo structs are being kept, but will be\nremoved by another patch.\n\nCc: Dmitry Fleytman <dmitry@daynix.com>\nCc: Jason Wang <jasowang@redhat.com>\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v3 -> v4:\n* New patch added to series","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/d5b006a6cbe395f7592c8c793dc32aa432ab6ca9"},{"sha":"cfd7b5ae490334aa6f03a9018c6a5c1791caee26","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"e1000e: Use regular DEFINE_PROP_<type> macros for properties\n\nInstead of hacking custom PropertyInfo structs, use the regular\nDEFINE_PROP_<type> macros for the e1000e properties.\n\nThis also fixes a bug in the disable_vnet_hdr property\ndefinition, that was using qdev_prop_uint8 for a bool field.\n\nCc: Dmitry Fleytman <dmitry@daynix.com>\nCc: Jason Wang <jasowang@redhat.com>\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v3 -> v4:\n* Patch imported from \"e1000e: QOM property & configuration\n  cleanups\" series","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/cfd7b5ae490334aa6f03a9018c6a5c1791caee26"},{"sha":"32fdc4c98729c4c3f79363947f57c029030ceb1a","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"tests: check-qom-proplist: Initialize seentype variable\n\nVariable could be used uninitialized. Initialize it properly.\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v3 -> v4:\n* New patch added to series","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/32fdc4c98729c4c3f79363947f57c029030ceb1a"},{"sha":"b7b902f1b3191583091b26ff06e89c4123dbbb54","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qom: Remove release function from class properties\n\nThe release functions are never called for class properties, and\ntheir semantics aren't even defined clearly (should the release\nfunction be called when an instance is destroyed, or when a class\nis destroyed?). Remove the unused functionality.\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v3 -> v4:\n* Patch added to series","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/b7b902f1b3191583091b26ff06e89c4123dbbb54"},{"sha":"9d9b1aba031ed26ed3f51af370d0200e1c8fa381","author":{"name":"Eduardo Habkost","email":"1434a0c554a4542f3cf3c2e7be483467bba16117@redhat.com"},"message":"qdev: Change signature of PropertyInfo::release\n\nChange the function signature to make implementations simpler.\n\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>\n---\nChanges series v3 -> v4:\n* New patch added to series","distinct":true,"url":"https://api.github.com/repos/ehabkost/qemu-hacks/commits/9d9b1aba031ed26ed3f51af370d0200e1c8fa381"}]}
{"actor":{"display_login":"ehabkost"}}