I had an idea for how to get a rough list of source files containing devices that haven't been QOMified. The theory is that a pre-QOM device generally has an "init" function which allocates memory for the device struct. So looking in hw/ for files which call g_new*() or g_malloc*() should get us all the non-QOM devices (as well as a pile of false positives, of course). The following link is the result of doing that and then eyeballing the results for false positives and throwing those out. It might have missed one or two files or included one or two by mistake. But I think it's pretty close, and it seems to have caught all the obvious ones I knew about. There are 61 files on this list.
I am also suspicious about hw/bt/ but don't know enough about that subsystem to say if it could benefit from using QOM objects more. hw/arm/exynos4210.c hw/arm/nseries.c hw/arm/omap1.c hw/arm/omap2.c hw/arm/pxa2xx.c hw/arm/stellaris.c hw/arm/strongarm.c hw/char/omap_uart.c hw/char/parallel.c hw/char/serial.c hw/char/sh_serial.c hw/core/ptimer.c hw/cris/axis_dev88.c hw/display/blizzard.c hw/display/omap_dss.c hw/display/omap_lcdc.c hw/display/pxa2xx_lcd.c hw/display/tc6393xb.c hw/display/vga-isa-mm.c hw/dma/etraxfs_dma.c hw/dma/omap_dma.c hw/dma/rc4030.c hw/dma/soc_dma.c hw/i2c/bitbang_i2c.c hw/ide/ahci.c hw/input/pckbd.c hw/input/ps2.c hw/input/pxa2xx_keypad.c hw/input/stellaris_input.c hw/input/tsc2005.c hw/input/tsc210x.c hw/m68k/mcf5206.c hw/m68k/mcf5208.c hw/mips/mips_malta.c hw/misc/cbus.c hw/misc/omap_clk.c hw/misc/omap_gpmc.c hw/misc/omap_l4.c hw/misc/omap_sdrc.c hw/openrisc/cputimer.c hw/pci/shpc.c ? hw/ppc/ppc405_boards.c hw/ppc/ppc405_uc.c hw/ppc/ppc440_uc.c hw/ppc/ppc4xx_devs.c hw/ppc/ppc_booke.c hw/ppc/prep.c hw/riscv/riscv_htif.c hw/riscv/sifive_uart.c hw/sd/omap_mmc.c hw/sh4/r2d.c hw/sh4/sh7750.c hw/sparc64/sparc64.c hw/ssi/omap_spi.c hw/timer/arm_timer.c hw/timer/mips_gictimer.c hw/timer/omap_gptimer.c hw/timer/omap_synctimer.c hw/timer/sh_timer.c hw/usb/hcd-musb.c hw/xtensa/xtfpga.c thanks -- PMM