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)
|
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);
|
g_free(piolist->regions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -291,8 +299,5 @@ void portio_list_del(PortioList *piolist)
|
|||||||
for (i = 0; i < piolist->nr; ++i) {
|
for (i = 0; i < piolist->nr; ++i) {
|
||||||
mrpio = container_of(piolist->regions[i], MemoryRegionPortioList, mr);
|
mrpio = container_of(piolist->regions[i], MemoryRegionPortioList, mr);
|
||||||
memory_region_del_subregion(piolist->address_space, &mrpio->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