On 29/10/20 23:02, Eduardo Habkost wrote: > +static Property machine_props[] = { > + DEFINE_PROP_STRING("kernel", MachineState, kernel_filename), > + DEFINE_PROP_STRING("initrd", MachineState, initrd_filename), > + DEFINE_PROP_STRING("append", MachineState, kernel_cmdline), > + DEFINE_PROP_STRING("dtb", MachineState, dtb), > + DEFINE_PROP_STRING("dumpdtb", MachineState, dumpdtb), > + DEFINE_PROP_STRING("dt-compatible", MachineState, dt_compatible), > + DEFINE_PROP_STRING("firmware", MachineState, firmware), > + DEFINE_PROP_STRING("memory-backend", MachineState, ram_memdev_id), > + DEFINE_PROP_END_OF_LIST(), > +}; > +
While I think generalizing the _code_ for static properties is obviously a good idea, I am not sure about generalizing the interface for adding them. The reason is that we already have a place for adding properties in class_init, and having a second makes things "less local", so to speak. What do you think about adding macros like OBJECT_CLASS_PROPERTY_ADD_STR(oc, MachineState, kernel_filename, "kernel", prop_allow_set_always); ? Paolo