PCI: PCIe portdrv: Remove struct pcie_port_service_id
The PCI Express port driver uses 'struct pcie_port_service_id' for matching port service devices and drivers, but this structure contains fields that duplicate information from the port device itself (vendor, device, subvendor, subdevice) and fields that are not used by any existing port service driver (class, class_mask, drvier_data). Also, both existing port service drivers (AER and PCIe HP) don't even use the vendor and device fields for device matching. Therefore 'struct pcie_port_service_id' can be removed altogether and the only useful members of it (port_type, service) can be introduced directly into the port service device and port service driver structures. That simplifies the code quite a bit and reduces its size. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
committed by
Jesse Barnes
parent
0516c8bcd2
commit
22106368c9
@@ -351,21 +351,21 @@ static int find_aer_service_iter(struct device *device, void *data)
|
||||
{
|
||||
struct device_driver *driver;
|
||||
struct pcie_port_service_driver *service_driver;
|
||||
struct pcie_device *pcie_dev;
|
||||
struct find_aer_service_data *result;
|
||||
|
||||
result = (struct find_aer_service_data *) data;
|
||||
|
||||
if (device->bus == &pcie_port_bus_type) {
|
||||
pcie_dev = to_pcie_device(device);
|
||||
if (pcie_dev->id.port_type == PCIE_SW_DOWNSTREAM_PORT)
|
||||
struct pcie_port_data *port_data;
|
||||
|
||||
port_data = pci_get_drvdata(to_pcie_device(device)->port);
|
||||
if (port_data->port_type == PCIE_SW_DOWNSTREAM_PORT)
|
||||
result->is_downstream = 1;
|
||||
|
||||
driver = device->driver;
|
||||
if (driver) {
|
||||
service_driver = to_service_driver(driver);
|
||||
if (service_driver->id_table->service_type ==
|
||||
PCIE_PORT_SERVICE_AER) {
|
||||
if (service_driver->service == PCIE_PORT_SERVICE_AER) {
|
||||
result->aer_driver = service_driver;
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user