This should be called by a parallel port device driver that has registered itself using parport_register_driver when it is about to be unloaded.
When it returns, the driver's attach routine will no longer be called, and for each port that attach was called for, the detach routine will have been called.
If the caller's attach function can block, it is their responsibility to make sure to wait for it to exit before unloading.
All the driver's detach calls are guaranteed to have finished by the time this function returns.
The driver's detach call is not allowed to block.