Skip to content

Commit

Permalink
Driver core: show "initstate" of module
Browse files Browse the repository at this point in the history
Show the initialization state(live, coming, going) of the module:
  $ cat /sys/module/usbcore/initstate
  live

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
kaysievers authored and gregkh committed Dec 13, 2006
1 parent aef6fba commit 1f71740
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions kernel/module.c
Expand Up @@ -824,9 +824,34 @@ static inline void module_unload_init(struct module *mod)
}
#endif /* CONFIG_MODULE_UNLOAD */

static ssize_t show_initstate(struct module_attribute *mattr,
struct module *mod, char *buffer)
{
const char *state = "unknown";

switch (mod->state) {
case MODULE_STATE_LIVE:
state = "live";
break;
case MODULE_STATE_COMING:
state = "coming";
break;
case MODULE_STATE_GOING:
state = "going";
break;
}
return sprintf(buffer, "%s\n", state);
}

static struct module_attribute initstate = {
.attr = { .name = "initstate", .mode = 0444, .owner = THIS_MODULE },
.show = show_initstate,
};

static struct module_attribute *modinfo_attrs[] = {
&modinfo_version,
&modinfo_srcversion,
&initstate,
#ifdef CONFIG_MODULE_UNLOAD
&refcnt,
#endif
Expand Down

0 comments on commit 1f71740

Please sign in to comment.