1. I see, other similar qdev_prop_* use DEFINE_PROP_SIGNED
I don't think this should be signed. Enum values are non-negative so compilers
(at least gcc and clang that I checked) evaluate underlying enum type to be
unsigned int.
I don't know why other property types use signed, may be they have reasons or
just this
is how they were initially implemented.
2. All of them except only qdev_prop_fdc_drive_type, define also a convenient
macro in include/hw/qdev-properties-system.h
This makes sense if property is used in more than one place, in this case I
don't see any
benefit from writing more code to handle this specific case. Maybe if property
finds its
usage in other devices this can be done.