On Mon, Apr 09, 2018 at 10:41:52AM -0400, Oza Pawandeep wrote: > +static int find_dpc_dev_iter(struct device *device, void *data) > +{ > + struct pcie_port_service_driver *service_driver; > + struct device **dev; > + > + dev = (struct device **) data; > + > + if (device->bus == &pcie_port_bus_type && device->driver) { > + service_driver = to_service_driver(device->driver); > + if (service_driver->service == PCIE_PORT_SERVICE_DPC) { > + *dev = device; > + return 1; > + } > + } > + > + return 0; > +} > + > +static struct device *pci_find_dpc_dev(struct pci_dev *pdev) > +{ > + struct device *dev = NULL; > + > + device_for_each_child(&pdev->dev, &dev, find_dpc_dev_iter); > + > + return dev; > +} The only caller of this doesn't seem to care to use struct device. This should probably just extract struct dpc_dev directly from in here.