1*d6dfd9efSDavid du Colombier /* 2*d6dfd9efSDavid du Colombier * Stub. 3*d6dfd9efSDavid du Colombier */ 4*d6dfd9efSDavid du Colombier #include "u.h" 5*d6dfd9efSDavid du Colombier #include "../port/lib.h" 6*d6dfd9efSDavid du Colombier #include "mem.h" 7*d6dfd9efSDavid du Colombier #include "dat.h" 8*d6dfd9efSDavid du Colombier #include "fns.h" 9*d6dfd9efSDavid du Colombier #include "../port/error.h" 10*d6dfd9efSDavid du Colombier 11*d6dfd9efSDavid du Colombier extern Dev* devtab[]; 12*d6dfd9efSDavid du Colombier 13*d6dfd9efSDavid du Colombier void devtabreset(void)14*d6dfd9efSDavid du Colombierdevtabreset(void) 15*d6dfd9efSDavid du Colombier { 16*d6dfd9efSDavid du Colombier int i; 17*d6dfd9efSDavid du Colombier 18*d6dfd9efSDavid du Colombier for(i = 0; devtab[i] != nil; i++) { 19*d6dfd9efSDavid du Colombier if (devtab[i]->reset == nil) 20*d6dfd9efSDavid du Colombier panic("corrupt memory: nil devtab[%d]->reset", i); 21*d6dfd9efSDavid du Colombier devtab[i]->reset(); 22*d6dfd9efSDavid du Colombier } 23*d6dfd9efSDavid du Colombier } 24*d6dfd9efSDavid du Colombier 25*d6dfd9efSDavid du Colombier void devtabinit(void)26*d6dfd9efSDavid du Colombierdevtabinit(void) 27*d6dfd9efSDavid du Colombier { 28*d6dfd9efSDavid du Colombier int i; 29*d6dfd9efSDavid du Colombier 30*d6dfd9efSDavid du Colombier for(i = 0; devtab[i] != nil; i++) 31*d6dfd9efSDavid du Colombier devtab[i]->init(); 32*d6dfd9efSDavid du Colombier } 33*d6dfd9efSDavid du Colombier 34*d6dfd9efSDavid du Colombier void devtabshutdown(void)35*d6dfd9efSDavid du Colombierdevtabshutdown(void) 36*d6dfd9efSDavid du Colombier { 37*d6dfd9efSDavid du Colombier int i; 38*d6dfd9efSDavid du Colombier 39*d6dfd9efSDavid du Colombier /* 40*d6dfd9efSDavid du Colombier * Shutdown in reverse order. 41*d6dfd9efSDavid du Colombier */ 42*d6dfd9efSDavid du Colombier for(i = 0; devtab[i] != nil; i++) 43*d6dfd9efSDavid du Colombier ; 44*d6dfd9efSDavid du Colombier for(i--; i >= 0; i--) 45*d6dfd9efSDavid du Colombier devtab[i]->shutdown(); 46*d6dfd9efSDavid du Colombier } 47