RngEgd *s = RNG_EGD(b);
if (b->opened) {
- error_setg(errp, QERR_PERMISSION_DENIED);
+ error_setg(errp, "Property 'chardev' can no longer be set");
} else {
g_free(s->chr_name);
s->chr_name = g_strdup(value);
return NULL;
}
-static void rng_egd_init(Object *obj)
-{
- object_property_add_str(obj, "chardev",
- rng_egd_get_chardev, rng_egd_set_chardev);
-}
-
static void rng_egd_finalize(Object *obj)
{
RngEgd *s = RNG_EGD(obj);
rbc->request_entropy = rng_egd_request_entropy;
rbc->opened = rng_egd_opened;
+ object_class_property_add_str(klass, "chardev",
+ rng_egd_get_chardev, rng_egd_set_chardev);
}
static const TypeInfo rng_egd_info = {
.parent = TYPE_RNG_BACKEND,
.instance_size = sizeof(RngEgd),
.class_init = rng_egd_class_init,
- .instance_init = rng_egd_init,
.instance_finalize = rng_egd_finalize,
};