Re: [PATCH v3, part1 04/10] PCI: mark pci_scan_bus_parented() as__deprecated

From: Jiang Liu
Date: Fri Jun 07 2013 - 11:11:36 EST


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 <liuj97@xxxxxxxxx> wrote:
>>>> Mark pci_scan_bus_parented() as __deprecated and clean up outdated
>>>> comments.
>>>>
>>>> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx>
>>>> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>
>>>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>>> Cc: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx>
>>>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>>>> Cc: linux-pci@xxxxxxxxxxxxxxx
>>>> ---
>>>> 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,
Thanks for review!

The patch "PCI, xen-pcifront: use new PCI interfaces to simplify
implementation" has dependency on part2 of the patch series, which
introduces for_each_pci_root_bus(). I have prepared a git tree for
you at:
git://github.com/jiangliu/linux.git pci_lock_v3

And I will try to split "PCI, xen-pcifront: use new PCI interfaces
to simplify implementation" into two patches, one is to kill
pci_scan_bus_parented(), the other is to use new for_each_pci_root_bus()
interface. But it should have the same effect with current version.

>
> Also oddly enough your SoB does not match your Author. Here is
> what git shows:
>
> === > Author: Jiang Liu <liuj97@xxxxxxxxx> 2013-05-25 09:48:38
>
> === > Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx>
>
> You can add in the gmail an new 'email alias' so that the emails will
> look as they come from your huawei address.

Great thanks!
This issue has puzzled me for a long time! Will try to add an gmail
alias.

Regards!
Gerry

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/