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:
Paolo Bonzini 2014-06-11 13:02:51 +02:00
parent eed7930950
commit e3fb0ade83
1 changed files with 8 additions and 3 deletions

View File

@ -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;
}
}