Lines Matching defs:ctrlr
62 static void *nvd_new_disk(struct nvme_namespace *ns, void *ctrlr);
64 static void *nvd_new_controller(struct nvme_controller *ctrlr);
65 static void nvd_controller_fail(void *ctrlr);
75 struct nvd_controller *ctrlr;
164 struct nvd_controller *ctrlr;
171 while ((ctrlr = TAILQ_FIRST(&ctrlr_head)) != NULL) {
172 TAILQ_REMOVE(&ctrlr_head, ctrlr, tailq);
173 TAILQ_FOREACH(ndisk, &ctrlr->disk_head, ctrlr_tailq)
175 while (!TAILQ_EMPTY(&ctrlr->disk_head))
176 msleep(&ctrlr->disk_head, &nvd_lock, 0, "nvd_unload",0);
177 free(ctrlr, M_NVD);
271 TAILQ_REMOVE(&ndisk->ctrlr->disk_head, ndisk, ctrlr_tailq);
272 if (TAILQ_EMPTY(&ndisk->ctrlr->disk_head))
273 wakeup(&ndisk->ctrlr->disk_head);
396 nvd_new_controller(struct nvme_controller *ctrlr)
417 struct nvd_controller *ctrlr = ctrlr_arg;
421 ndisk->ctrlr = ctrlr;
441 TAILQ_INSERT_TAIL(&ctrlr->disk_head, ndisk, ctrlr_tailq);
497 struct nvd_controller *ctrlr = ctrlr_arg;
501 TAILQ_REMOVE(&ctrlr_head, ctrlr, tailq);
502 TAILQ_FOREACH(ndisk, &ctrlr->disk_head, ctrlr_tailq)
504 while (!TAILQ_EMPTY(&ctrlr->disk_head))
505 msleep(&ctrlr->disk_head, &nvd_lock, 0, "nvd_fail", 0);
507 free(ctrlr, M_NVD);