I'm not sure what the purpose of the port_type field is. Intuition would tell me that I fill in the pcie_port_service_driver struct, call pcie_port_service_register(), and then I'd get my probe() called whenever a device with a matching .port_type is found. But in reality, one also has to edit portdrv_core.c to create a device that the service driver can bind to. So if there's already the need to do work here, what is the purpose of port_type? Alex