+static int deps_available(struct module *m, int verbose)
+{
+ char *deps, *_deps;
+ char *comma;
+ int err = 0;
+
+ if (!strcmp(m->depends, "-") || !strcmp(m->depends, ""))
+ return 0;
+
+ _deps = deps = strdup(m->depends);
+
+ do {
+ comma = strstr(deps, ",");
+ if (comma)
+ *comma = '\0';
+
+ m = find_module(deps);
+
+ if (verbose && !m)
+ LOG("missing dependency %s\n", deps);
+ if (verbose && m && (m->state != LOADED))
+ LOG("dependency not loaded %s\n", deps);
+ if (!m || (m->state != LOADED))
+ err++;
+ if (comma)
+ deps = ++comma;
+ } while (comma);
+
+ free(_deps);
+
+ return err;
+}
+