This is series 2/4 of the QOM refactoring. These series are divided up based on the major scripted code conversions.
This series makes qdev a proper Object and converts qdev's type inheritance to QOM inheritance. The first half of the series are manual cleanups/refactorings. The second half is mostly scripted conversion, separated out into reviewable and bisectable chunks. I've tested this series extensively for the pc target including bisectability. I have not tested any other targets yet so your mileage may vary. Since the original RFC, I've fixed any of the not-for-upstream issues but I am aware that this breaks mac99 for the powerpc target. I will fix that before the next submission. This is also available at: https://github.com/aliguori/qemu/tree/qom-upstream.9 For full context, the whole tree is located at: https://github.com/aliguori/qemu/commits/qom-rebase.7