From patchwork Fri Jun 7 15:30:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jiang Liu X-Patchwork-Id: 2687551 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id C765B3FC23 for ; Fri, 7 Jun 2013 15:31:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756214Ab3FGPa1 (ORCPT ); Fri, 7 Jun 2013 11:30:27 -0400 Received: from mail-pd0-f181.google.com ([209.85.192.181]:61894 "EHLO mail-pd0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756173Ab3FGPaV (ORCPT ); Fri, 7 Jun 2013 11:30:21 -0400 Received: by mail-pd0-f181.google.com with SMTP id 14so2295697pdj.40 for ; Fri, 07 Jun 2013 08:30:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=zCP9ShOlyoMpu2xcQh/GUrjPmCGpz0LlgBG4j9+q070=; b=wrRgWWfxKlBARtpV/qa2bt/5d1nQeYt5Kl4DQ6zATlqsq6FKps+zD1UgIJ/orCkPIX JPO/RS2VVjjDFNn0ylOFPnWW5pIpCAp6TOqMBX4lfLZIuVf79Vd4nzg6/m6iVk2GJN// MOQNAmCm7Rr30g4qSqe8aDQoDGcgnpNfS7Ew/bUZonRFkIE/BvDpLHHmVmUqEfNBDTpc txy2PDTZ+gPFx2kg+i/DfxDXSGG9M7MhXYSiCM3mdIYz0CWzG3oJtuTHjx4ZmwSGR023 dclDqAiKBbBAafg6cIK8mkQiyMLOKUjxCKbI7p4AM0WtGUmwQeUVLzagCK6Y8HdrEzG8 CCIg== X-Received: by 10.68.136.3 with SMTP id pw3mr38290094pbb.2.1370619021020; Fri, 07 Jun 2013 08:30:21 -0700 (PDT) Received: from [192.168.1.105] ([114.250.76.130]) by mx.google.com with ESMTPSA id ra4sm3588598pab.9.2013.06.07.08.30.13 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 07 Jun 2013 08:30:20 -0700 (PDT) Message-ID: <51B1FC83.7090402@gmail.com> Date: Fri, 07 Jun 2013 23:30:11 +0800 From: Jiang Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130404 Thunderbird/17.0.5 MIME-Version: 1.0 To: Konrad Rzeszutek Wilk CC: Bjorn Helgaas , Yinghai Lu , Jiang Liu , "Rafael J . Wysocki" , Greg Kroah-Hartman , Gu Zheng , Toshi Kani , Myron Stowe , Yijing Wang , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Chris Metcalf , Thierry Reding , Jeremy Fitzhardinge , xen-devel Subject: Re: [PATCH v3, part1 04/10] PCI: mark pci_scan_bus_parented() as __deprecated References: <1369489718-25869-1-git-send-email-jiang.liu@huawei.com> <1369489718-25869-5-git-send-email-jiang.liu@huawei.com> <51B0B99C.4020009@gmail.com> <20130607143758.GA13427@phenom.dumpdata.com> In-Reply-To: <20130607143758.GA13427@phenom.dumpdata.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org On 06/07/2013 10:37 PM, Konrad Rzeszutek Wilk wrote: > On Fri, Jun 07, 2013 at 12:32:28AM +0800, Jiang Liu wrote: >> On Thu 06 Jun 2013 04:04:36 AM CST, Bjorn Helgaas wrote: >>> [+cc Konrad, Jeremy, xen-devel (users of interface you're deprecating)] >>> >>> On Sat, May 25, 2013 at 7:48 AM, Jiang Liu wrote: >>>> Mark pci_scan_bus_parented() as __deprecated and clean up outdated >>>> comments. >>>> >>>> Signed-off-by: Jiang Liu >>>> Cc: Chris Metcalf >>>> Cc: Greg Kroah-Hartman >>>> Cc: Thierry Reding >>>> Cc: linux-kernel@vger.kernel.org >>>> Cc: linux-pci@vger.kernel.org >>>> --- >>>> arch/tile/kernel/pci.c | 3 --- >>>> include/linux/pci.h | 4 ++-- >>>> 2 files changed, 2 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c >>>> index 67237d3..936e087 100644 >>>> --- a/arch/tile/kernel/pci.c >>>> +++ b/arch/tile/kernel/pci.c >>>> @@ -309,9 +309,6 @@ int __init pcibios_init(void) >>>> * >>>> * It reads the PCI tree for this bus into the Linux >>>> * data structures. >>>> - * >>>> - * This is inlined in linux/pci.h and calls into >>>> - * pci_scan_bus_parented() in probe.c. >>>> */ >>>> pci_add_resource(&resources, &ioport_resource); >>>> pci_add_resource(&resources, &iomem_resource); >>>> diff --git a/include/linux/pci.h b/include/linux/pci.h >>>> index b0f4a82..7b23fa0 100644 >>>> --- a/include/linux/pci.h >>>> +++ b/include/linux/pci.h >>>> @@ -720,8 +720,8 @@ void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, >>>> void pcibios_scan_specific_bus(int busn); >>>> struct pci_bus *pci_find_bus(int domain, int busnr); >>>> void pci_bus_add_devices(const struct pci_bus *bus); >>>> -struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus, >>>> - struct pci_ops *ops, void *sysdata); >>>> +struct pci_bus * __deprecated pci_scan_bus_parented(struct device *parent, >>>> + int bus, struct pci_ops *ops, void *sysdata); >>>> struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *sysdata); >>>> struct pci_bus *pci_create_root_bus(struct device *parent, int bus, >>>> struct pci_ops *ops, void *sysdata, >>> >>> I think this patch is a good idea, but I think we need to change the >>> only existing user of pci_scan_bus_parented() (pcifront_scan_root() in >>> drivers/pci/xen-pcifront.c) at the same time, so xen doesn't start >>> getting build warnings. The deprecation warnings are really intended >>> for out-of-tree users that we aren't able to fix ourselves. >>> >>> I'm getting this series queued up in >>> http://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/log/?h=pci/jiang-bus-lock-v3, >>> so if you want to send a patch just for xen, I can fold that in. >>> >>> Bjorn >> Hi Bjorn, >> I have posted a big patch for that, but still need help from >> Xen experts to review it. >> Please refer to https://patchwork.kernel.org/patch/2578551/ > > Hm, I seem to get: > > /home/konrad/linux/drivers/pci/xen-pcifront.c: In function ‘pcifront_free_roots’: > /home/konrad/linux/drivers/pci/xen-pcifront.c:559: error: implicit declaration of function ‘for_each_pci_root_bus’ > /home/konrad/linux/drivers/pci/xen-pcifront.c:559: error: expected ‘;’ before ‘{’ token > /home/konrad/linux/drivers/pci/xen-pcifront.c:554: warning: unused variable ‘sd’ > > with it? Is there an up-to-date patch? > I have these in my tree: > > 311db40 PCI, xen-pcifront: use new PCI interfaces to simplify implementation > 4079fee Merge remote-tracking branch 'bjorn/pci/jiang-bus-lock-v3' into testing > ddb7c6b PCI: Hide remove and rescan sysfs interfaces for SR-IOV virtual functions > f5cfa3a PCI: Simplify IOV implementation and fix reference count races > 28b4f07 PCI: Drop redundant setting of bus->is_added in virtfn_add_bus() > 442655a unicore32/PCI: Remove redundant call of pci_bus_add_devices() > defd601 m68k/PCI: Remove redundant call of pci_bus_add_devices() > 340e3fb PCI: Make PCI host bridge/bus creating and destroying logic symmetric > c7025f7 ia64/PCI: Clean up pci_scan_root_bus() usage > c1f41ce PCI: Mark pci_scan_bus_parented() as __deprecated > 13e5057 PCI: Convert alloc_pci_dev(void) to pci_alloc_dev(bus) > 007042a PCI: Introduce pci_alloc_dev(struct pci_bus*) to replace alloc_pci_dev() > fe830ef PCI: Introduce pci_bus_{get|put}() to manage PCI bus reference count Hi Konrad, Could you please help to apply this simple patch onto to your tree? It should fix the build failure issue. pci_stop_root_bus(bus); > > Also oddly enough your SoB does not match your Author. Here is > what git shows: > > === > Author: Jiang Liu 2013-05-25 09:48:38 > > === > Signed-off-by: Jiang Liu > > You can add in the gmail an new 'email alias' so that the emails will > look as they come from your huawei address. > --- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c index 79ad229..b5e0e66 100644 --- a/drivers/pci/xen-pcifront.c +++ b/drivers/pci/xen-pcifront.c @@ -556,7 +556,7 @@ static void pcifront_free_roots(struct pcifront_device *pdev) dev_dbg(&pdev->xdev->dev, "cleaning up root buses\n"); - for_each_pci_root_bus(bus) { + list_for_each_entry(bus, &pci_root_buses, node) { sd = bus->sysdata; if (sd->pdev == pdev) {