depends_on
static char *depends_on(struct module *);
if ((p = mp->depends_on) == NULL)
mp->depends_on = depstr;
if (mp->depends_on == NULL)
mp->depends_on = depends_on(mp);
if (mp->depends_on != NULL && (dep =
mod_already_loaded(mp->depends_on)) == NULL) {
if (mp->depends_on)
kobj_free(mp->depends_on, strlen(mp->depends_on)+1);
if ((p = mp->depends_on) == NULL)
mp->depends_on = kobj_alloc(allocsize, KM_WAIT);
bcopy(mp->depends_on, tmp, osize);
kobj_free(mp->depends_on, allocsize);
mp->depends_on = tmp;
bcopy(libname, mp->depends_on + osize, lsize);
*(mp->depends_on + nsize) = ' '; /* separate */
mp->depends_on[nsize - 1] = '\0'; /* terminate the string */
bcopy(mp->depends_on, tmp, nsize);
kobj_free(mp->depends_on, allocsize);
mp->depends_on = tmp;
kobj_free(mp->depends_on, allocsize);
mp->depends_on = NULL;
char *depends_on;