ioport: split deletion and destruction
Of the two functions portio_list_del and portio_list_destroy, the latter is just freeing a memory area. However, portio_list_del is the logical equivalent of memory_region_del_subregion so destruction of memory regions does not belong there. Actually, neither of these APIs are in use; portio is mostly used by ISA devices or VGAs, and neither of these is currently hot-unpluggable. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
eed7930950
commit
e3fb0ade83
11
ioport.c
11
ioport.c
@ -149,6 +149,14 @@ void portio_list_set_flush_coalesced(PortioList *piolist)
|
||||
|
||||
void portio_list_destroy(PortioList *piolist)
|
||||
{
|
||||
MemoryRegionPortioList *mrpio;
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < piolist->nr; ++i) {
|
||||
mrpio = container_of(piolist->regions[i], MemoryRegionPortioList, mr);
|
||||
memory_region_destroy(&mrpio->mr);
|
||||
g_free(mrpio);
|
||||
}
|
||||
g_free(piolist->regions);
|
||||
}
|
||||
|
||||
@ -291,8 +299,5 @@ void portio_list_del(PortioList *piolist)
|
||||
for (i = 0; i < piolist->nr; ++i) {
|
||||
mrpio = container_of(piolist->regions[i], MemoryRegionPortioList, mr);
|
||||
memory_region_del_subregion(piolist->address_space, &mrpio->mr);
|
||||
memory_region_destroy(&mrpio->mr);
|
||||
g_free(mrpio);
|
||||
piolist->regions[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user