Revision 9e8dd451
b/hw/acpi_piix4.c | ||
---|---|---|
313 | 313 |
acpi_pm1_evt_power_down(pm1a, tmr); |
314 | 314 |
} |
315 | 315 |
|
316 |
static void piix4_pm_machine_ready(struct Notifier* n)
|
|
316 |
static void piix4_pm_machine_ready(Notifier *n, void *opaque)
|
|
317 | 317 |
{ |
318 | 318 |
PIIX4PMState *s = container_of(n, PIIX4PMState, machine_ready); |
319 | 319 |
uint8_t *pci_conf; |
b/hw/fw_cfg.c | ||
---|---|---|
316 | 316 |
return 1; |
317 | 317 |
} |
318 | 318 |
|
319 |
static void fw_cfg_machine_ready(struct Notifier* n)
|
|
319 |
static void fw_cfg_machine_ready(struct Notifier *n, void *data)
|
|
320 | 320 |
{ |
321 | 321 |
uint32_t len; |
322 | 322 |
FWCfgState *s = container_of(n, FWCfgState, machine_ready); |
b/input.c | ||
---|---|---|
59 | 59 |
|
60 | 60 |
if (is_absolute != current_is_absolute || |
61 | 61 |
has_absolute != current_has_absolute) { |
62 |
notifier_list_notify(&mouse_mode_notifiers); |
|
62 |
notifier_list_notify(&mouse_mode_notifiers, NULL);
|
|
63 | 63 |
} |
64 | 64 |
|
65 | 65 |
current_is_absolute = is_absolute; |
b/migration.c | ||
---|---|---|
124 | 124 |
} |
125 | 125 |
|
126 | 126 |
current_migration = s; |
127 |
notifier_list_notify(&migration_state_notifiers); |
|
127 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
128 | 128 |
return 0; |
129 | 129 |
} |
130 | 130 |
|
... | ... | |
276 | 276 |
{ |
277 | 277 |
DPRINTF("setting error state\n"); |
278 | 278 |
s->state = MIG_STATE_ERROR; |
279 |
notifier_list_notify(&migration_state_notifiers); |
|
279 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
280 | 280 |
migrate_fd_cleanup(s); |
281 | 281 |
} |
282 | 282 |
|
... | ... | |
334 | 334 |
monitor_resume(s->mon); |
335 | 335 |
} |
336 | 336 |
s->state = MIG_STATE_ERROR; |
337 |
notifier_list_notify(&migration_state_notifiers); |
|
337 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
338 | 338 |
} |
339 | 339 |
|
340 | 340 |
return ret; |
... | ... | |
395 | 395 |
state = MIG_STATE_ERROR; |
396 | 396 |
} |
397 | 397 |
s->state = state; |
398 |
notifier_list_notify(&migration_state_notifiers); |
|
398 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
399 | 399 |
} |
400 | 400 |
} |
401 | 401 |
|
... | ... | |
415 | 415 |
DPRINTF("cancelling migration\n"); |
416 | 416 |
|
417 | 417 |
s->state = MIG_STATE_CANCELLED; |
418 |
notifier_list_notify(&migration_state_notifiers); |
|
418 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
419 | 419 |
qemu_savevm_state_cancel(s->mon, s->file); |
420 | 420 |
|
421 | 421 |
migrate_fd_cleanup(s); |
... | ... | |
429 | 429 |
|
430 | 430 |
if (s->state == MIG_STATE_ACTIVE) { |
431 | 431 |
s->state = MIG_STATE_CANCELLED; |
432 |
notifier_list_notify(&migration_state_notifiers); |
|
432 |
notifier_list_notify(&migration_state_notifiers, NULL);
|
|
433 | 433 |
migrate_fd_cleanup(s); |
434 | 434 |
} |
435 | 435 |
qemu_free(s); |
b/notify.c | ||
---|---|---|
29 | 29 |
QTAILQ_REMOVE(&list->notifiers, notifier, node); |
30 | 30 |
} |
31 | 31 |
|
32 |
void notifier_list_notify(NotifierList *list) |
|
32 |
void notifier_list_notify(NotifierList *list, void *data)
|
|
33 | 33 |
{ |
34 | 34 |
Notifier *notifier, *next; |
35 | 35 |
|
36 | 36 |
QTAILQ_FOREACH_SAFE(notifier, &list->notifiers, node, next) { |
37 |
notifier->notify(notifier); |
|
37 |
notifier->notify(notifier, data);
|
|
38 | 38 |
} |
39 | 39 |
} |
b/notify.h | ||
---|---|---|
20 | 20 |
|
21 | 21 |
struct Notifier |
22 | 22 |
{ |
23 |
void (*notify)(Notifier *notifier); |
|
23 |
void (*notify)(Notifier *notifier, void *data);
|
|
24 | 24 |
QTAILQ_ENTRY(Notifier) node; |
25 | 25 |
}; |
26 | 26 |
|
... | ... | |
38 | 38 |
|
39 | 39 |
void notifier_list_remove(NotifierList *list, Notifier *notifier); |
40 | 40 |
|
41 |
void notifier_list_notify(NotifierList *list); |
|
41 |
void notifier_list_notify(NotifierList *list, void *data);
|
|
42 | 42 |
|
43 | 43 |
#endif |
b/ui/sdl.c | ||
---|---|---|
481 | 481 |
sdl_update_caption(); |
482 | 482 |
} |
483 | 483 |
|
484 |
static void sdl_mouse_mode_change(Notifier *notify) |
|
484 |
static void sdl_mouse_mode_change(Notifier *notify, void *data)
|
|
485 | 485 |
{ |
486 | 486 |
if (kbd_mouse_is_absolute()) { |
487 | 487 |
if (!absolute_enabled) { |
b/ui/spice-core.c | ||
---|---|---|
416 | 416 |
*ret_data = QOBJECT(server); |
417 | 417 |
} |
418 | 418 |
|
419 |
static void migration_state_notifier(Notifier *notifier) |
|
419 |
static void migration_state_notifier(Notifier *notifier, void *data)
|
|
420 | 420 |
{ |
421 | 421 |
int state = get_migration_state(); |
422 | 422 |
|
b/ui/spice-input.c | ||
---|---|---|
178 | 178 |
.buttons = tablet_buttons, |
179 | 179 |
}; |
180 | 180 |
|
181 |
static void mouse_mode_notifier(Notifier *notifier) |
|
181 |
static void mouse_mode_notifier(Notifier *notifier, void *data)
|
|
182 | 182 |
{ |
183 | 183 |
QemuSpicePointer *pointer = container_of(notifier, QemuSpicePointer, mouse_mode); |
184 | 184 |
bool is_absolute = kbd_mouse_is_absolute(); |
... | ... | |
213 | 213 |
pointer->absolute = false; |
214 | 214 |
pointer->mouse_mode.notify = mouse_mode_notifier; |
215 | 215 |
qemu_add_mouse_mode_change_notifier(&pointer->mouse_mode); |
216 |
mouse_mode_notifier(&pointer->mouse_mode); |
|
216 |
mouse_mode_notifier(&pointer->mouse_mode, NULL);
|
|
217 | 217 |
} |
b/ui/vnc.c | ||
---|---|---|
1346 | 1346 |
{ |
1347 | 1347 |
} |
1348 | 1348 |
|
1349 |
static void check_pointer_type_change(Notifier *notifier) |
|
1349 |
static void check_pointer_type_change(Notifier *notifier, void *data)
|
|
1350 | 1350 |
{ |
1351 | 1351 |
VncState *vs = container_of(notifier, VncState, mouse_mode_notifier); |
1352 | 1352 |
int absolute = kbd_mouse_is_absolute(); |
... | ... | |
1769 | 1769 |
} |
1770 | 1770 |
} |
1771 | 1771 |
vnc_desktop_resize(vs); |
1772 |
check_pointer_type_change(&vs->mouse_mode_notifier); |
|
1772 |
check_pointer_type_change(&vs->mouse_mode_notifier, NULL);
|
|
1773 | 1773 |
} |
1774 | 1774 |
|
1775 | 1775 |
static void set_pixel_conversion(VncState *vs) |
b/usb-linux.c | ||
---|---|---|
1260 | 1260 |
return 0; |
1261 | 1261 |
} |
1262 | 1262 |
|
1263 |
static void usb_host_exit_notifier(struct Notifier* n)
|
|
1263 |
static void usb_host_exit_notifier(struct Notifier *n, void *data)
|
|
1264 | 1264 |
{ |
1265 | 1265 |
USBHostDevice *s = container_of(n, USBHostDevice, exit); |
1266 | 1266 |
|
b/vl.c | ||
---|---|---|
2009 | 2009 |
|
2010 | 2010 |
static void qemu_run_exit_notifiers(void) |
2011 | 2011 |
{ |
2012 |
notifier_list_notify(&exit_notifiers); |
|
2012 |
notifier_list_notify(&exit_notifiers, NULL);
|
|
2013 | 2013 |
} |
2014 | 2014 |
|
2015 | 2015 |
void qemu_add_machine_init_done_notifier(Notifier *notify) |
... | ... | |
2019 | 2019 |
|
2020 | 2020 |
static void qemu_run_machine_init_done_notifiers(void) |
2021 | 2021 |
{ |
2022 |
notifier_list_notify(&machine_init_done_notifiers); |
|
2022 |
notifier_list_notify(&machine_init_done_notifiers, NULL);
|
|
2023 | 2023 |
} |
2024 | 2024 |
|
2025 | 2025 |
static const QEMUOption *lookup_opt(int argc, char **argv, |
b/xen-all.c | ||
---|---|---|
839 | 839 |
} |
840 | 840 |
} |
841 | 841 |
|
842 |
static void xen_exit_notifier(Notifier *n) |
|
842 |
static void xen_exit_notifier(Notifier *n, void *data)
|
|
843 | 843 |
{ |
844 | 844 |
XenIOState *state = container_of(n, XenIOState, exit); |
845 | 845 |
|
Also available in: Unified diff