]> Git Repo - qemu.git/blobdiff - backends/rng.c
RISC-V: Update load reservation comment in do_interrupt
[qemu.git] / backends / rng.c
index 277a41bb0f2c327315dc89e8a4b9b176e801040b..398ebe4a7d09f9eabe0a11e3cff7f52d60016702 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/rng.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qom/object_interfaces.h"
 
@@ -33,7 +34,7 @@ void rng_backend_request_entropy(RngBackend *s, size_t size,
 
         k->request_entropy(s, req);
 
-        s->requests = g_slist_append(s->requests, req);
+        QSIMPLEQ_INSERT_TAIL(&s->requests, req, next);
     }
 }
 
@@ -83,24 +84,27 @@ static void rng_backend_free_request(RngRequest *req)
 
 static void rng_backend_free_requests(RngBackend *s)
 {
-    GSList *i;
+    RngRequest *req, *next;
 
-    for (i = s->requests; i; i = i->next) {
-        rng_backend_free_request(i->data);
+    QSIMPLEQ_FOREACH_SAFE(req, &s->requests, next, next) {
+        rng_backend_free_request(req);
     }
 
-    g_slist_free(s->requests);
-    s->requests = NULL;
+    QSIMPLEQ_INIT(&s->requests);
 }
 
 void rng_backend_finalize_request(RngBackend *s, RngRequest *req)
 {
-    s->requests = g_slist_remove(s->requests, req);
+    QSIMPLEQ_REMOVE(&s->requests, req, RngRequest, next);
     rng_backend_free_request(req);
 }
 
 static void rng_backend_init(Object *obj)
 {
+    RngBackend *s = RNG_BACKEND(obj);
+
+    QSIMPLEQ_INIT(&s->requests);
+
     object_property_add_bool(obj, "opened",
                              rng_backend_prop_get_opened,
                              rng_backend_prop_set_opened,
This page took 0.02454 seconds and 4 git commands to generate.