Commit fc177304 authored by Lorenzo Pieralisi's avatar Lorenzo Pieralisi

ARM/PCI: Remove unused fields from struct hw_pci

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.comSigned-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
parent 9123e3a7
...@@ -17,10 +17,8 @@ struct pci_host_bridge; ...@@ -17,10 +17,8 @@ struct pci_host_bridge;
struct device; struct device;
struct hw_pci { struct hw_pci {
struct msi_controller *msi_ctrl;
struct pci_ops *ops; struct pci_ops *ops;
int nr_controllers; int nr_controllers;
unsigned int io_optional:1;
void **private_data; void **private_data;
int (*setup)(int nr, struct pci_sys_data *); int (*setup)(int nr, struct pci_sys_data *);
int (*scan)(int nr, struct pci_host_bridge *); int (*scan)(int nr, struct pci_host_bridge *);
...@@ -28,11 +26,6 @@ struct hw_pci { ...@@ -28,11 +26,6 @@ struct hw_pci {
void (*postinit)(void); void (*postinit)(void);
u8 (*swizzle)(struct pci_dev *dev, u8 *pin); u8 (*swizzle)(struct pci_dev *dev, u8 *pin);
int (*map_irq)(const struct pci_dev *dev, u8 slot, 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);
}; };
/* /*
......
...@@ -394,8 +394,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ...@@ -394,8 +394,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return irq; return irq;
} }
static int pcibios_init_resource(int busnr, struct pci_sys_data *sys, static int pcibios_init_resource(int busnr, struct pci_sys_data *sys)
int io_optional)
{ {
int ret; int ret;
struct resource_entry *window; struct resource_entry *window;
...@@ -405,14 +404,6 @@ static int pcibios_init_resource(int busnr, struct pci_sys_data *sys, ...@@ -405,14 +404,6 @@ static int pcibios_init_resource(int busnr, struct pci_sys_data *sys,
&iomem_resource, sys->mem_offset); &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) resource_list_for_each_entry(window, &sys->resources)
if (resource_type(window->res) == IORESOURCE_IO) if (resource_type(window->res) == IORESOURCE_IO)
return 0; return 0;
...@@ -462,7 +453,7 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw, ...@@ -462,7 +453,7 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
if (ret > 0) { if (ret > 0) {
ret = pcibios_init_resource(nr, sys, hw->io_optional); ret = pcibios_init_resource(nr, sys);
if (ret) { if (ret) {
pci_free_host_bridge(bridge); pci_free_host_bridge(bridge);
break; break;
...@@ -480,9 +471,6 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw, ...@@ -480,9 +471,6 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
bridge->sysdata = sys; bridge->sysdata = sys;
bridge->busnr = sys->busnr; bridge->busnr = sys->busnr;
bridge->ops = hw->ops; bridge->ops = hw->ops;
bridge->msi = hw->msi_ctrl;
bridge->align_resource =
hw->align_resource;
ret = pci_scan_root_bus_bridge(bridge); ret = pci_scan_root_bus_bridge(bridge);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment