From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753265AbcGFG5r (ORCPT ); Wed, 6 Jul 2016 02:57:47 -0400 Received: from prv-mh.provo.novell.com ([137.65.248.74]:56609 "EHLO prv-mh.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751424AbcGFG5p convert rfc822-to-8bit (ORCPT ); Wed, 6 Jul 2016 02:57:45 -0400 Message-Id: <577CC80702000078000FB7B7@prv-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 14.2.0 Date: Wed, 06 Jul 2016 00:57:43 -0600 From: "Jan Beulich" To: "David Vrabel" , "Boris Ostrovsky" , "Juergen Gross" Cc: "xen-devel" , Subject: [PATCH v4 3/7] xen-pciback: fold read_dev_bar() into its now single caller References: <577CC59602000078000FB7A0@prv-mh.provo.novell.com> In-Reply-To: <577CC59602000078000FB7A0@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Jan Beulich --- drivers/xen/xen-pciback/conf_space_header.c | 33 +++++++++++----------------- 1 file changed, 13 insertions(+), 20 deletions(-) --- 4.7-rc6-xen-pciback.orig/drivers/xen/xen-pciback/conf_space_header.c +++ 4.7-rc6-xen-pciback/drivers/xen/xen-pciback/conf_space_header.c @@ -209,11 +209,14 @@ static int bar_read(struct pci_dev *dev, return 0; } -static inline void read_dev_bar(struct pci_dev *dev, - struct pci_bar_info *bar_info, int offset) +static void *bar_init(struct pci_dev *dev, int offset) { int pos; struct resource *res = dev->resource; + struct pci_bar_info *bar = kzalloc(sizeof(*bar), GFP_KERNEL); + + if (!bar) + return ERR_PTR(-ENOMEM); if (offset == PCI_ROM_ADDRESS || offset == PCI_ROM_ADDRESS1) pos = PCI_ROM_RESOURCE; @@ -223,31 +226,21 @@ static inline void read_dev_bar(struct p PCI_BASE_ADDRESS_MEM_TYPE_MASK)) == (PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_TYPE_64))) { - bar_info->val = res[pos - 1].start >> 32; - bar_info->len_val = -resource_size(&res[pos - 1]) >> 32; - return; + bar->val = res[pos - 1].start >> 32; + bar->len_val = -resource_size(&res[pos - 1]) >> 32; + return bar; } } if (!res[pos].flags || (res[pos].flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET | IORESOURCE_BUSY))) - return; - - bar_info->val = res[pos].start | - (res[pos].flags & PCI_REGION_FLAG_MASK); - bar_info->len_val = -resource_size(&res[pos]) | - (res[pos].flags & PCI_REGION_FLAG_MASK); -} - -static void *bar_init(struct pci_dev *dev, int offset) -{ - struct pci_bar_info *bar = kzalloc(sizeof(*bar), GFP_KERNEL); - - if (!bar) - return ERR_PTR(-ENOMEM); + return bar; - read_dev_bar(dev, bar, offset); + bar->val = res[pos].start | + (res[pos].flags & PCI_REGION_FLAG_MASK); + bar->len_val = -resource_size(&res[pos]) | + (res[pos].flags & PCI_REGION_FLAG_MASK); return bar; }