diff options
Diffstat (limited to 'kernel/params.c')
| -rw-r--r-- | kernel/params.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/kernel/params.c b/kernel/params.c index 91aea7aa532e..f406655d6653 100644 --- a/kernel/params.c +++ b/kernel/params.c | |||
| @@ -547,6 +547,7 @@ static void __init kernel_param_sysfs_setup(const char *name, | |||
| 547 | unsigned int name_skip) | 547 | unsigned int name_skip) |
| 548 | { | 548 | { |
| 549 | struct module_kobject *mk; | 549 | struct module_kobject *mk; |
| 550 | int ret; | ||
| 550 | 551 | ||
| 551 | mk = kzalloc(sizeof(struct module_kobject), GFP_KERNEL); | 552 | mk = kzalloc(sizeof(struct module_kobject), GFP_KERNEL); |
| 552 | BUG_ON(!mk); | 553 | BUG_ON(!mk); |
| @@ -554,7 +555,8 @@ static void __init kernel_param_sysfs_setup(const char *name, | |||
| 554 | mk->mod = THIS_MODULE; | 555 | mk->mod = THIS_MODULE; |
| 555 | kobj_set_kset_s(mk, module_subsys); | 556 | kobj_set_kset_s(mk, module_subsys); |
| 556 | kobject_set_name(&mk->kobj, name); | 557 | kobject_set_name(&mk->kobj, name); |
| 557 | kobject_register(&mk->kobj); | 558 | ret = kobject_register(&mk->kobj); |
| 559 | BUG_ON(ret < 0); | ||
| 558 | 560 | ||
| 559 | /* no need to keep the kobject if no parameter is exported */ | 561 | /* no need to keep the kobject if no parameter is exported */ |
| 560 | if (!param_sysfs_setup(mk, kparam, num_params, name_skip)) { | 562 | if (!param_sysfs_setup(mk, kparam, num_params, name_skip)) { |
| @@ -684,13 +686,20 @@ decl_subsys(module, &module_ktype, NULL); | |||
| 684 | */ | 686 | */ |
| 685 | static int __init param_sysfs_init(void) | 687 | static int __init param_sysfs_init(void) |
| 686 | { | 688 | { |
| 687 | subsystem_register(&module_subsys); | 689 | int ret; |
| 690 | |||
| 691 | ret = subsystem_register(&module_subsys); | ||
| 692 | if (ret < 0) { | ||
| 693 | printk(KERN_WARNING "%s (%d): subsystem_register error: %d\n", | ||
| 694 | __FILE__, __LINE__, ret); | ||
| 695 | return ret; | ||
| 696 | } | ||
| 688 | 697 | ||
| 689 | param_sysfs_builtin(); | 698 | param_sysfs_builtin(); |
| 690 | 699 | ||
| 691 | return 0; | 700 | return 0; |
| 692 | } | 701 | } |
| 693 | __initcall(param_sysfs_init); | 702 | subsys_initcall(param_sysfs_init); |
| 694 | 703 | ||
| 695 | EXPORT_SYMBOL(param_set_byte); | 704 | EXPORT_SYMBOL(param_set_byte); |
| 696 | EXPORT_SYMBOL(param_get_byte); | 705 | EXPORT_SYMBOL(param_get_byte); |
