diff options
| author | Kay Sievers <kay.sievers@vrfy.org> | 2006-11-24 06:15:25 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-12-13 18:38:45 -0500 |
| commit | 1f71740ab9714bf5ae9ee04c724ff0d5c67ca3dc (patch) | |
| tree | 0573d4f21472e7eb3509f71f74dfc8443a415db4 /kernel | |
| parent | aef6fba4f97bbec1dc5a253f388be9a4c7a30e41 (diff) | |
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>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/module.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c index d9eae45d0145..b565eaeff7e6 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
| @@ -824,9 +824,34 @@ static inline void module_unload_init(struct module *mod) | |||
| 824 | } | 824 | } |
| 825 | #endif /* CONFIG_MODULE_UNLOAD */ | 825 | #endif /* CONFIG_MODULE_UNLOAD */ |
| 826 | 826 | ||
| 827 | static ssize_t show_initstate(struct module_attribute *mattr, | ||
| 828 | struct module *mod, char *buffer) | ||
| 829 | { | ||
| 830 | const char *state = "unknown"; | ||
| 831 | |||
| 832 | switch (mod->state) { | ||
| 833 | case MODULE_STATE_LIVE: | ||
| 834 | state = "live"; | ||
| 835 | break; | ||
| 836 | case MODULE_STATE_COMING: | ||
| 837 | state = "coming"; | ||
| 838 | break; | ||
| 839 | case MODULE_STATE_GOING: | ||
| 840 | state = "going"; | ||
| 841 | break; | ||
| 842 | } | ||
| 843 | return sprintf(buffer, "%s\n", state); | ||
| 844 | } | ||
| 845 | |||
| 846 | static struct module_attribute initstate = { | ||
| 847 | .attr = { .name = "initstate", .mode = 0444, .owner = THIS_MODULE }, | ||
| 848 | .show = show_initstate, | ||
| 849 | }; | ||
| 850 | |||
| 827 | static struct module_attribute *modinfo_attrs[] = { | 851 | static struct module_attribute *modinfo_attrs[] = { |
| 828 | &modinfo_version, | 852 | &modinfo_version, |
| 829 | &modinfo_srcversion, | 853 | &modinfo_srcversion, |
| 854 | &initstate, | ||
| 830 | #ifdef CONFIG_MODULE_UNLOAD | 855 | #ifdef CONFIG_MODULE_UNLOAD |
| 831 | &refcnt, | 856 | &refcnt, |
| 832 | #endif | 857 | #endif |
