From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756095AbbGGAk4 (ORCPT ); Mon, 6 Jul 2015 20:40:56 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:31259 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755353AbbGGAkt (ORCPT ); Mon, 6 Jul 2015 20:40:49 -0400 From: Yinghai Lu To: Bjorn Helgaas , David Miller , David Ahern , Benjamin Herrenschmidt , Wei Yang , TJ , Yijing Wang Cc: Andrew Morton , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Yinghai Lu Subject: [PATCH 07/36] PCI: Remove duplicated code for resource sorting Date: Mon, 6 Jul 2015 16:38:57 -0700 Message-Id: <1436225966-27247-8-git-send-email-yinghai@kernel.org> X-Mailer: git-send-email 1.8.4.5 In-Reply-To: <1436225966-27247-1-git-send-email-yinghai@kernel.org> References: <1436225966-27247-1-git-send-email-yinghai@kernel.org> X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now __sort_resources, and pdev_sort_resources all have sorting code. We can use __sort_resources calling and remove related code in pdev_sort_resources. As we are going to call __sort_resources several places, so choose to keep __sort_resources instead. Signed-off-by: Yinghai Lu --- drivers/pci/setup-bus.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 81f6bc4..a7dbf54 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -210,9 +210,8 @@ static void pdev_sort_resources(struct pci_dev *dev, for (i = 0; i < PCI_NUM_RESOURCES; i++) { struct resource *r; - struct pci_dev_resource *dev_res, *tmp; + struct pci_dev_resource *tmp; resource_size_t r_align; - struct list_head *n; r = &dev->resource[i]; @@ -235,22 +234,7 @@ static void pdev_sort_resources(struct pci_dev *dev, tmp->res = r; tmp->dev = dev; - /* fallback is smallest one or list is empty*/ - n = head; - list_for_each_entry(dev_res, head, list) { - resource_size_t align; - - align = __pci_resource_alignment(dev_res->dev, - dev_res->res, - realloc_head); - - if (r_align > align) { - n = &dev_res->list; - break; - } - } - /* Insert it just before n*/ - list_add_tail(&tmp->list, n); + list_add_tail(&tmp->list, head); } } @@ -553,9 +537,9 @@ static void __assign_resources_sorted(struct list_head *head, } free_list(&save_head); +requested_and_reassign: __sort_resources(head); -requested_and_reassign: /* Satisfy the must-have resource requests */ assign_requested_resources_sorted(head, fail_head); -- 1.8.4.5