From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:47194) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfyXb-0004JV-6w for qemu-devel@nongnu.org; Sun, 10 Jul 2011 14:15:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QfyXM-0007dj-KV for qemu-devel@nongnu.org; Sun, 10 Jul 2011 14:15:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfyXF-0007YO-5c for qemu-devel@nongnu.org; Sun, 10 Jul 2011 14:15:18 -0400 From: Avi Kivity Date: Sun, 10 Jul 2011 21:15:08 +0300 Message-Id: <1310321709-30770-56-git-send-email-avi@redhat.com> In-Reply-To: <1310321709-30770-1-git-send-email-avi@redhat.com> References: <1310321709-30770-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [RFC v3 55/56] pci: fold BAR mapping function into its caller List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm@vger.kernel.org There is only one function, so no need for a function pointer. Signed-off-by: Avi Kivity --- hw/pci.c | 25 +++++++++---------------- hw/pci.h | 1 - 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index 2543ced..04b6372 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -881,18 +881,6 @@ static int pci_unregister_device(DeviceState *dev) return 0; } -static void pci_simple_bar_mapfunc_region(PCIDevice *pci_dev, int region_num, - pcibus_t addr, pcibus_t size, - int type) -{ - PCIIORegion *r = &pci_dev->io_regions[region_num]; - - memory_region_add_subregion_overlap(r->address_space, - addr, - r->memory, - 1); -} - void pci_register_bar_region(PCIDevice *pci_dev, int region_num, uint8_t type, MemoryRegion *memory) { @@ -914,7 +902,6 @@ void pci_register_bar_region(PCIDevice *pci_dev, int region_num, r->size = size; r->filtered_size = size; r->type = type; - r->map_func = pci_simple_bar_mapfunc_region; r->ram_addr = IO_MEM_UNASSIGNED; r->memory = NULL; @@ -1103,10 +1090,16 @@ static void pci_update_mappings(PCIDevice *d) * addr & (size - 1) != 0. */ if (r->type & PCI_BASE_ADDRESS_SPACE_IO) { - r->map_func(d, i, r->addr, r->filtered_size, r->type); + memory_region_add_subregion_overlap(r->address_space, + r->addr, + r->memory, + 1); } else { - r->map_func(d, i, pci_to_cpu_addr(d->bus, r->addr), - r->filtered_size, r->type); + memory_region_add_subregion_overlap(r->address_space, + pci_to_cpu_addr(d->bus, + r->addr), + r->memory, + 1); } } } diff --git a/hw/pci.h b/hw/pci.h index 3751b13..274d719 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -92,7 +92,6 @@ typedef struct PCIIORegion { pcibus_t size; pcibus_t filtered_size; uint8_t type; - PCIMapIORegionFunc *map_func; ram_addr_t ram_addr; MemoryRegion *memory; MemoryRegion *address_space; -- 1.7.5.3