Message ID | 20191107073857.29596-1-lucas.demarchi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | modprobe: use flags rather than bool args | expand |
Hi, Lucas! >>>>> On Wed, 6 Nov 2019 23:38:57 -0800, Lucas De Marchi wrote: > It's easier to know what the caller is doing when we pass a named > flag rather than a list of bools. Yeah, it's much better, thanks! > --- > tools/modprobe.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > diff --git a/tools/modprobe.c b/tools/modprobe.c > index 44cd15c..9387537 100644 > --- a/tools/modprobe.c > +++ b/tools/modprobe.c > @@ -353,8 +353,9 @@ static int rmmod_do_remove_module(struct kmod_module *mod) > return err; > } > -static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, > - bool ignore_builtin); > +#define RMMOD_FLAG_DO_DEPENDENCIES 0x1 > +#define RMMOD_FLAG_IGNORE_BUILTIN 0x2 > +static int rmmod_do_module(struct kmod_module *mod, int flags); > static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) > { > @@ -362,7 +363,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) > kmod_list_foreach_reverse(l, list) { > struct kmod_module *m = kmod_module_get_module(l); > - int r = rmmod_do_module(m, false, true); > + int r = rmmod_do_module(m, RMMOD_FLAG_IGNORE_BUILTIN); > kmod_module_unref(m); > if (r < 0 && stop_on_errors) > @@ -372,8 +373,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) > return 0; > } > -static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, > - bool ignore_builtin) > +static int rmmod_do_module(struct kmod_module *mod, int flags) > { > const char *modname = kmod_module_get_name(mod); > struct kmod_list *pre = NULL, *post = NULL; > @@ -403,7 +403,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, > } > goto error; > } else if (state == KMOD_MODULE_BUILTIN) { > - if (ignore_builtin) { > + if (flags & RMMOD_FLAG_IGNORE_BUILTIN) { > err = 0; > } else { > LOG("Module %s is builtin.\n", modname); > @@ -415,7 +415,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, > rmmod_do_deps_list(post, false); > - if (do_dependencies && remove_dependencies) { > + if ((flags & RMMOD_FLAG_DO_DEPENDENCIES) && remove_dependencies) { > struct kmod_list *deps = kmod_module_get_dependencies(mod); > err = rmmod_do_deps_list(deps, true); > @@ -468,7 +468,7 @@ static int rmmod(struct kmod_ctx *ctx, const char *alias) > kmod_list_foreach(l, list) { > struct kmod_module *mod = kmod_module_get_module(l); > - err = rmmod_do_module(mod, true, false); > + err = rmmod_do_module(mod, RMMOD_FLAG_DO_DEPENDENCIES); > kmod_module_unref(mod); > if (err < 0) > break; > -- > 2.24.0
diff --git a/tools/modprobe.c b/tools/modprobe.c index 44cd15c..9387537 100644 --- a/tools/modprobe.c +++ b/tools/modprobe.c @@ -353,8 +353,9 @@ static int rmmod_do_remove_module(struct kmod_module *mod) return err; } -static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, - bool ignore_builtin); +#define RMMOD_FLAG_DO_DEPENDENCIES 0x1 +#define RMMOD_FLAG_IGNORE_BUILTIN 0x2 +static int rmmod_do_module(struct kmod_module *mod, int flags); static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) { @@ -362,7 +363,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) kmod_list_foreach_reverse(l, list) { struct kmod_module *m = kmod_module_get_module(l); - int r = rmmod_do_module(m, false, true); + int r = rmmod_do_module(m, RMMOD_FLAG_IGNORE_BUILTIN); kmod_module_unref(m); if (r < 0 && stop_on_errors) @@ -372,8 +373,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors) return 0; } -static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, - bool ignore_builtin) +static int rmmod_do_module(struct kmod_module *mod, int flags) { const char *modname = kmod_module_get_name(mod); struct kmod_list *pre = NULL, *post = NULL; @@ -403,7 +403,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, } goto error; } else if (state == KMOD_MODULE_BUILTIN) { - if (ignore_builtin) { + if (flags & RMMOD_FLAG_IGNORE_BUILTIN) { err = 0; } else { LOG("Module %s is builtin.\n", modname); @@ -415,7 +415,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies, rmmod_do_deps_list(post, false); - if (do_dependencies && remove_dependencies) { + if ((flags & RMMOD_FLAG_DO_DEPENDENCIES) && remove_dependencies) { struct kmod_list *deps = kmod_module_get_dependencies(mod); err = rmmod_do_deps_list(deps, true); @@ -468,7 +468,7 @@ static int rmmod(struct kmod_ctx *ctx, const char *alias) kmod_list_foreach(l, list) { struct kmod_module *mod = kmod_module_get_module(l); - err = rmmod_do_module(mod, true, false); + err = rmmod_do_module(mod, RMMOD_FLAG_DO_DEPENDENCIES); kmod_module_unref(mod); if (err < 0) break;