mirror of https://gitee.com/openkylin/linux.git
Driver core: show "initstate" of module
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>
This commit is contained in:
parent
aef6fba4f9
commit
1f71740ab9
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue