mirror of https://gitee.com/openkylin/linux.git
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.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>
This commit is contained in:
parent
9123e3a74e
commit
fc177304d1
|
@ -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 {
|
||||||
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)
|
||||||
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,
|
||||||
&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,
|
||||||
|
|
||||||
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,
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue