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


Reply via email to