void pps_unregister_source(struct pps_device *pps) { pps_kc_remove(pps); pps_unregister_cdev(pps); /* don't have to kfree(pps) here because it will be done on * device destruction */ }
void pps_unregister_source(int source) { struct pps_device *pps; spin_lock_irq(&pps_idr_lock); pps = idr_find(&pps_idr, source); if (!pps) { BUG(); spin_unlock_irq(&pps_idr_lock); return; } spin_unlock_irq(&pps_idr_lock); pps_unregister_cdev(pps); pps_put_source(pps); }