[PATCH] drivers: pci: remove unused pci_sys_data structures
Bjorn Helgaas
helgaas at kernel.org
Wed Nov 25 10:12:35 PST 2015
On Mon, Nov 09, 2015 at 06:57:39PM +0000, Lorenzo Pieralisi wrote:
> Commit b3a72384fe29 ("ARM/PCI: Replace pci_sys_data->align_resource
> with global function pointer") removed the struct pci_sys_data
> dependency from the ARM pcibios functions that are part of the
> common ARM PCI arch back-end (eg pcibios_align_resource()), so that
> struct pci_sys_data has now become data that is only used internally
> by the ARM bios32 layer (ie pci_common_init_dev()) and by host
> controllers drivers callbacks (eg pci_sys_data.setup) that rely on the
> ARM bios32 API to probe.
>
> PCI host controller drivers that do not rely on ARM bios32 calls to
> probe do not need to have the pci_bus.sysdata pointer field pointing
> at a struct pci_sys_data anymore, therefore it can be removed from the
> respective drivers data structures.
>
> This patch removes the pci_sys_data structures from the host
> controller drivers that do not rely on ARM bios32 interface to
> scan the PCI bus, completing the pci_sys_data clean-up and removing
> the related dependency on arch/arm specific data.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Will Deacon <will.deacon at arm.com>
> Cc: Bjorn Helgaas <bhelgaas at google.com>
> Cc: Rob Herring <robh at kernel.org>
Applied with Arnd's ack to pci/host-generic for v4.5, thanks!
> ---
> Rob,
>
> I could not test it on versatile, only compile tested, so
> please have an additional look.
>
> Tested the PCI host generic on 32-bit and 64-bit guests,
> through kvmtool.
>
> Thanks,
> Lorenzo
>
> drivers/pci/host/pci-host-generic.c | 9 ---------
> drivers/pci/host/pci-versatile.c | 5 +----
> 2 files changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c
> index 5434c90..1652bc7 100644
> --- a/drivers/pci/host/pci-host-generic.c
> +++ b/drivers/pci/host/pci-host-generic.c
> @@ -38,16 +38,7 @@ struct gen_pci_cfg_windows {
> struct gen_pci_cfg_bus_ops *ops;
> };
>
> -/*
> - * ARM pcibios functions expect the ARM struct pci_sys_data as the PCI
> - * sysdata. Add pci_sys_data as the first element in struct gen_pci so
> - * that when we use a gen_pci pointer as sysdata, it is also a pointer to
> - * a struct pci_sys_data.
> - */
> struct gen_pci {
> -#ifdef CONFIG_ARM
> - struct pci_sys_data sys;
> -#endif
> struct pci_host_bridge host;
> struct gen_pci_cfg_windows cfg;
> struct list_head resources;
> diff --git a/drivers/pci/host/pci-versatile.c b/drivers/pci/host/pci-versatile.c
> index 0863d9c..f843a72 100644
> --- a/drivers/pci/host/pci-versatile.c
> +++ b/drivers/pci/host/pci-versatile.c
> @@ -125,9 +125,6 @@ out_release_res:
> return err;
> }
>
> -/* Unused, temporary to satisfy ARM arch code */
> -struct pci_sys_data sys;
> -
> static int versatile_pci_probe(struct platform_device *pdev)
> {
> struct resource *res;
> @@ -208,7 +205,7 @@ static int versatile_pci_probe(struct platform_device *pdev)
> pci_add_flags(PCI_ENABLE_PROC_DOMAINS);
> pci_add_flags(PCI_REASSIGN_ALL_BUS | PCI_REASSIGN_ALL_RSRC);
>
> - bus = pci_scan_root_bus(&pdev->dev, 0, &pci_versatile_ops, &sys, &pci_res);
> + bus = pci_scan_root_bus(&pdev->dev, 0, &pci_versatile_ops, NULL, &pci_res);
> if (!bus)
> return -ENOMEM;
>
> --
> 2.5.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the linux-arm-kernel
mailing list