ARM/PCI: Remove unused fields from struct hw_pci
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 16 Sep 2020 10:30:45 +0000 (11:30 +0100)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Fri, 18 Sep 2020 21:39:09 +0000 (22:39 +0100)
The msi_ctrl, io_optional and align_resource fields in struct hw_pci are
currently unused by arm/mach PCI host controller drivers and we won't
be adding any new users.

Remove them and related code.

Link: https://lore.kernel.org/r/20200904141607.4066-1-lorenzo.pieralisi@arm.com
Link: https://lore.kernel.org/r/20200916103045.28651-1-lorenzo.pieralisi@arm.com
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
arch/arm/include/asm/mach/pci.h
arch/arm/kernel/bios32.c

index 83d340702680da5209a53a78166088cdac414a27..ea9bd08895b7f5bb8f6a65a30eaddfcdfeac9f65 100644 (file)
@@ -17,10 +17,8 @@ struct pci_host_bridge;
 struct device;
 
 struct hw_pci {
-       struct msi_controller *msi_ctrl;
        struct pci_ops  *ops;
        int             nr_controllers;
-       unsigned int    io_optional:1;
        void            **private_data;
        int             (*setup)(int nr, struct pci_sys_data *);
        int             (*scan)(int nr, struct pci_host_bridge *);
@@ -28,11 +26,6 @@ struct hw_pci {
        void            (*postinit)(void);
        u8              (*swizzle)(struct pci_dev *dev, u8 *pin);
        int             (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
-       resource_size_t (*align_resource)(struct pci_dev *dev,
-                                         const struct resource *res,
-                                         resource_size_t start,
-                                         resource_size_t size,
-                                         resource_size_t align);
 };
 
 /*
index eecec16aa708fff9d3cac98091e4631637a866cb..e7ef2b5bea9c224b4a3d6c6812b70a9404cf3818 100644 (file)
@@ -394,8 +394,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
        return irq;
 }
 
-static int pcibios_init_resource(int busnr, struct pci_sys_data *sys,
-                                int io_optional)
+static int pcibios_init_resource(int busnr, struct pci_sys_data *sys)
 {
        int ret;
        struct resource_entry *window;
@@ -405,14 +404,6 @@ static int pcibios_init_resource(int busnr, struct pci_sys_data *sys,
                         &iomem_resource, sys->mem_offset);
        }
 
-       /*
-        * If a platform says I/O port support is optional, we don't add
-        * the default I/O space.  The platform is responsible for adding
-        * any I/O space it needs.
-        */
-       if (io_optional)
-               return 0;
-
        resource_list_for_each_entry(window, &sys->resources)
                if (resource_type(window->res) == IORESOURCE_IO)
                        return 0;
@@ -462,7 +453,7 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
 
                if (ret > 0) {
 
-                       ret = pcibios_init_resource(nr, sys, hw->io_optional);
+                       ret = pcibios_init_resource(nr, sys);
                        if (ret)  {
                                pci_free_host_bridge(bridge);
                                break;
@@ -480,9 +471,6 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
                                bridge->sysdata = sys;
                                bridge->busnr = sys->busnr;
                                bridge->ops = hw->ops;
-                               bridge->msi = hw->msi_ctrl;
-                               bridge->align_resource =
-                                               hw->align_resource;
 
                                ret = pci_scan_root_bus_bridge(bridge);
                        }