Lines Matching refs:sdev
247 SDev *sdev; in sdgetdev() local
254 if(sdev = devs[i]) in sdgetdev()
255 incref(&sdev->r); in sdgetdev()
257 return sdev; in sdgetdev()
261 sdgetunit(SDev* sdev, int subno) in sdgetunit() argument
272 qlock(&sdev->unitlock); in sdgetunit()
273 if(subno > sdev->nunit){ in sdgetunit()
274 qunlock(&sdev->unitlock); in sdgetunit()
278 unit = sdev->unit[subno]; in sdgetunit()
284 if(sdev->unitflg[subno]){ in sdgetunit()
285 qunlock(&sdev->unitlock); in sdgetunit()
289 qunlock(&sdev->unitlock); in sdgetunit()
292 sdev->unitflg[subno] = 1; in sdgetunit()
294 snprint(buf, sizeof(buf), "%s%d", sdev->name, subno); in sdgetunit()
299 unit->dev = sdev; in sdgetunit()
301 if(sdev->enabled == 0 && sdev->ifc->enable) in sdgetunit()
302 sdev->ifc->enable(sdev); in sdgetunit()
303 sdev->enabled = 1; in sdgetunit()
311 qunlock(&sdev->unitlock); in sdgetunit()
315 sdev->unit[subno] = unit; in sdgetunit()
317 qunlock(&sdev->unitlock); in sdgetunit()
325 SDev *sdev; in sdreset() local
331 if(sdifc[i]->pnp == nil || (sdev = sdifc[i]->pnp()) == nil) in sdreset()
333 sdadddevs(sdev); in sdreset()
338 sdadddevs(SDev *sdev) in sdadddevs() argument
343 for(; sdev; sdev=next){ in sdadddevs()
344 next = sdev->next; in sdadddevs()
346 sdev->unit = (SDunit**)malloc(sdev->nunit * sizeof(SDunit*)); in sdadddevs()
347 sdev->unitflg = (int*)malloc(sdev->nunit * sizeof(int)); in sdadddevs()
348 if(sdev->unit == nil || sdev->unitflg == nil){ in sdadddevs()
351 free(sdev->unit); in sdadddevs()
352 free(sdev->unitflg); in sdadddevs()
353 if(sdev->ifc->clear) in sdadddevs()
354 sdev->ifc->clear(sdev); in sdadddevs()
355 free(sdev); in sdadddevs()
358 id = sdindex(sdev->idno); in sdadddevs()
366 sdev->idno = devletters[j]; in sdadddevs()
367 devs[j] = sdev; in sdadddevs()
368 snprint(sdev->name, sizeof sdev->name, "sd%c", devletters[j]); in sdadddevs()
393 SDev *sdev; in sdaddallconfs() local
396 for(sdev = devs[i]; sdev; sdev = sdev->next) in sdaddallconfs()
397 for(u = 0; u < sdev->nunit; u++) /* each drive */ in sdaddallconfs()
398 (*addconf)(sdev->unit[u]); in sdaddallconfs()
409 SDev *sdev; in sd2gen() local
412 sdev = sdgetdev(DEV(c->qid)); in sd2gen()
413 assert(sdev); in sd2gen()
414 unit = sdev->unit[UNIT(c->qid)]; in sd2gen()
454 decref(&sdev->r); in sd2gen()
480 SDev *sdev; in sdgen() local
511 if((sdev = devs[i]) == nil){ in sdgen()
516 incref(&sdev->r); in sdgen()
519 if((unit = sdev->unit[s]) == nil) in sdgen()
520 if((unit = sdgetunit(sdev, s)) == nil){ in sdgen()
521 decref(&sdev->r); in sdgen()
525 mkqid(&q, QID(sdev->idno, s, 0, Qunitdir), 0, QTDIR); in sdgen()
529 decref(&sdev->r); in sdgen()
541 if((sdev = sdgetdev(DEV(c->qid))) == nil){ in sdgen()
546 unit = sdev->unit[UNIT(c->qid)]; in sdgen()
564 decref(&sdev->r); in sdgen()
570 decref(&sdev->r); in sdgen()
576 decref(&sdev->r); in sdgen()
586 decref(&sdev->r); in sdgen()
591 if((sdev = sdgetdev(DEV(c->qid))) == nil){ in sdgen()
595 unit = sdev->unit[UNIT(c->qid)]; in sdgen()
599 decref(&sdev->r); in sdgen()
615 SDev *sdev; in sdattach() local
631 if((sdev=sdgetdev(idno)) == nil) in sdattach()
633 if(sdgetunit(sdev, subno) == nil){ in sdattach()
634 decref(&sdev->r); in sdattach()
639 mkqid(&c->qid, QID(sdev->idno, subno, 0, Qunitdir), 0, QTDIR); in sdattach()
640 c->dev = (sdev->idno << UnitLOG) + subno; in sdattach()
641 decref(&sdev->r); in sdattach()
662 SDev *sdev; in sdopen() local
669 sdev = sdgetdev(DEV(c->qid)); in sdopen()
670 if(sdev == nil) in sdopen()
673 unit = sdev->unit[UNIT(c->qid)]; in sdopen()
683 decref(&sdev->r); in sdopen()
693 decref(&sdev->r); in sdopen()
702 decref(&sdev->r); in sdopen()
710 SDev *sdev; in sdclose() local
721 sdev = sdgetdev(DEV(c->qid)); in sdclose()
722 if(sdev){ in sdclose()
723 unit = sdev->unit[UNIT(c->qid)]; in sdclose()
725 decref(&sdev->r); in sdclose()
739 SDev *sdev; in sdbio() local
743 sdev = sdgetdev(DEV(c->qid)); in sdbio()
744 if(sdev == nil){ in sdbio()
745 decref(&sdev->r); in sdbio()
748 unit = sdev->unit[UNIT(c->qid)]; in sdbio()
763 decref(&sdev->r); in sdbio()
792 decref(&sdev->r); in sdbio()
807 decref(&sdev->r); /* gadverdamme! */ in sdbio()
853 decref(&sdev->r); in sdbio()
1091 SDev *sdev; in sdread() local
1107 sdev = devs[i]; in sdread()
1108 if(sdev && sdev->ifc->rtopctl) in sdread()
1109 p = sdev->ifc->rtopctl(sdev, p, e); in sdread()
1121 sdev = sdgetdev(DEV(c->qid)); in sdread()
1122 if(sdev == nil) in sdread()
1125 unit = sdev->unit[UNIT(c->qid)]; in sdread()
1157 decref(&sdev->r); in sdread()
1163 sdev = sdgetdev(DEV(c->qid)); in sdread()
1164 if(sdev == nil) in sdread()
1167 unit = sdev->unit[UNIT(c->qid)]; in sdread()
1171 decref(&sdev->r); in sdread()
1187 decref(&sdev->r); in sdread()
1208 SDev *sdev; in sdwrite() local
1236 sdev = nil; in sdwrite()
1240 sdev = nil; in sdwrite()
1250 if((sdev = sdgetdev(f0[2])) != nil){ in sdwrite()
1251 ifc = sdev->ifc; in sdwrite()
1259 if(sdev) in sdwrite()
1260 decref(&sdev->r); in sdwrite()
1264 ifc->wtopctl(sdev, cb); in sdwrite()
1269 if (sdev) in sdwrite()
1270 decref(&sdev->r); in sdwrite()
1276 sdev = sdgetdev(DEV(c->qid)); in sdwrite()
1277 if(sdev == nil) in sdwrite()
1279 unit = sdev->unit[UNIT(c->qid)]; in sdwrite()
1284 decref(&sdev->r); in sdwrite()
1312 decref(&sdev->r); in sdwrite()
1318 sdev = sdgetdev(DEV(c->qid)); in sdwrite()
1319 if(sdev == nil) in sdwrite()
1321 unit = sdev->unit[UNIT(c->qid)]; in sdwrite()
1325 decref(&sdev->r); in sdwrite()
1356 decref(&sdev->r); in sdwrite()
1373 SDev *sdev; in sdwstat() local
1378 sdev = sdgetdev(DEV(c->qid)); in sdwstat()
1379 if(sdev == nil) in sdwstat()
1381 unit = sdev->unit[UNIT(c->qid)]; in sdwstat()
1387 decref(&sdev->r); in sdwstat()
1422 decref(&sdev->r); in sdwstat()
1430 SDev *s, *sdev; in configure() local
1451 sdev = sdifc[i]->probe(cf); in configure()
1452 for(s=sdev; s; s=s->next) in configure()
1454 sdadddevs(sdev); in configure()
1462 SDev *sdev; in unconfigure() local
1469 if((sdev = devs[i]) == nil){ in unconfigure()
1473 if(sdev->r.ref){ in unconfigure()
1481 if(sdev->enabled && sdev->ifc->disable) in unconfigure()
1482 sdev->ifc->disable(sdev); in unconfigure()
1484 for(i = 0; i != sdev->nunit; i++){ in unconfigure()
1485 if(unit = sdev->unit[i]){ in unconfigure()
1492 if(sdev->ifc->clear) in unconfigure()
1493 sdev->ifc->clear(sdev); in unconfigure()
1494 free(sdev); in unconfigure()