From patchwork Tue Jul 14 22:46:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yinghai Lu X-Patchwork-Id: 6790241 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 6E981C05AC for ; Tue, 14 Jul 2015 23:01:01 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9D8F520741 for ; Tue, 14 Jul 2015 23:01:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 697EA2073F for ; Tue, 14 Jul 2015 23:00:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752919AbbGNW7r (ORCPT ); Tue, 14 Jul 2015 18:59:47 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:44866 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753052AbbGNWrw (ORCPT ); Tue, 14 Jul 2015 18:47:52 -0400 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t6EMlWpq020094 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 14 Jul 2015 22:47:32 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t6EMlVaX021131 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 14 Jul 2015 22:47:31 GMT Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t6EMlVUd022209; Tue, 14 Jul 2015 22:47:31 GMT Received: from linux-siqj.site.us.oracle.com (/10.132.127.48) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 14 Jul 2015 15:47:31 -0700 From: Yinghai Lu To: Bjorn Helgaas , David Miller , Benjamin Herrenschmidt , Wei Yang , TJ , Yijing Wang Cc: Andrew Morton , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Yinghai Lu Subject: [PATCH v2 08/49] PCI: Remove duplicated code for resource sorting Date: Tue, 14 Jul 2015 15:46:39 -0700 Message-Id: <1436914040-13206-9-git-send-email-yinghai@kernel.org> X-Mailer: git-send-email 1.8.4.5 In-Reply-To: <1436914040-13206-1-git-send-email-yinghai@kernel.org> References: <1436914040-13206-1-git-send-email-yinghai@kernel.org> X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Now __sort_resources, and pdev_sort_resources all have sorting code. As we are going to call __sort_resources several places later, so choose to keep __sort_resources, and remove related code in pdev_sort_resources. 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 6f2d508..6642a60 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -215,9 +215,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]; @@ -240,22 +239,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); } } @@ -558,9 +542,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);