Loading kernel/module.c +11 −9 Original line number Diff line number Diff line Loading @@ -1131,12 +1131,6 @@ static int mod_sysfs_setup(struct module *mod, if (err) goto out; mod->mkobj.drivers_dir = kobject_add_dir(&mod->mkobj.kobj, "drivers"); if (!mod->mkobj.drivers_dir) { err = -ENOMEM; goto out_unreg; } err = module_param_sysfs_setup(mod, kparam, num_params); if (err) goto out_unreg_drivers; Loading @@ -1151,8 +1145,6 @@ static int mod_sysfs_setup(struct module *mod, out_unreg_param: module_param_sysfs_remove(mod); out_unreg_drivers: kobject_unregister(mod->mkobj.drivers_dir); out_unreg: kobject_del(&mod->mkobj.kobj); kobject_put(&mod->mkobj.kobj); out: Loading @@ -1163,6 +1155,7 @@ static void mod_kobject_remove(struct module *mod) { module_remove_modinfo_attrs(mod); module_param_sysfs_remove(mod); if (mod->mkobj.drivers_dir) kobject_unregister(mod->mkobj.drivers_dir); kobject_unregister(&mod->mkobj.kobj); Loading Loading @@ -2340,6 +2333,14 @@ static char *make_driver_name(struct device_driver *drv) return driver_name; } static void module_create_drivers_dir(struct module_kobject *mk) { if (!mk || mk->drivers_dir) return; mk->drivers_dir = kobject_add_dir(&mk->kobj, "drivers"); } void module_add_driver(struct module *mod, struct device_driver *drv) { char *driver_name; Loading Loading @@ -2367,6 +2368,7 @@ void module_add_driver(struct module *mod, struct device_driver *drv) no_warn = sysfs_create_link(&drv->kobj, &mk->kobj, "module"); driver_name = make_driver_name(drv); if (driver_name) { module_create_drivers_dir(mk); no_warn = sysfs_create_link(mk->drivers_dir, &drv->kobj, driver_name); kfree(driver_name); Loading kernel/params.c +0 −1 Original line number Diff line number Diff line Loading @@ -565,7 +565,6 @@ static void __init kernel_param_sysfs_setup(const char *name, ret = kobject_add(&mk->kobj); BUG_ON(ret < 0); param_sysfs_setup(mk, kparam, num_params, name_skip); mk->drivers_dir = kobject_add_dir(&mk->kobj, "drivers"); kobject_uevent(&mk->kobj, KOBJ_ADD); } Loading Loading
kernel/module.c +11 −9 Original line number Diff line number Diff line Loading @@ -1131,12 +1131,6 @@ static int mod_sysfs_setup(struct module *mod, if (err) goto out; mod->mkobj.drivers_dir = kobject_add_dir(&mod->mkobj.kobj, "drivers"); if (!mod->mkobj.drivers_dir) { err = -ENOMEM; goto out_unreg; } err = module_param_sysfs_setup(mod, kparam, num_params); if (err) goto out_unreg_drivers; Loading @@ -1151,8 +1145,6 @@ static int mod_sysfs_setup(struct module *mod, out_unreg_param: module_param_sysfs_remove(mod); out_unreg_drivers: kobject_unregister(mod->mkobj.drivers_dir); out_unreg: kobject_del(&mod->mkobj.kobj); kobject_put(&mod->mkobj.kobj); out: Loading @@ -1163,6 +1155,7 @@ static void mod_kobject_remove(struct module *mod) { module_remove_modinfo_attrs(mod); module_param_sysfs_remove(mod); if (mod->mkobj.drivers_dir) kobject_unregister(mod->mkobj.drivers_dir); kobject_unregister(&mod->mkobj.kobj); Loading Loading @@ -2340,6 +2333,14 @@ static char *make_driver_name(struct device_driver *drv) return driver_name; } static void module_create_drivers_dir(struct module_kobject *mk) { if (!mk || mk->drivers_dir) return; mk->drivers_dir = kobject_add_dir(&mk->kobj, "drivers"); } void module_add_driver(struct module *mod, struct device_driver *drv) { char *driver_name; Loading Loading @@ -2367,6 +2368,7 @@ void module_add_driver(struct module *mod, struct device_driver *drv) no_warn = sysfs_create_link(&drv->kobj, &mk->kobj, "module"); driver_name = make_driver_name(drv); if (driver_name) { module_create_drivers_dir(mk); no_warn = sysfs_create_link(mk->drivers_dir, &drv->kobj, driver_name); kfree(driver_name); Loading
kernel/params.c +0 −1 Original line number Diff line number Diff line Loading @@ -565,7 +565,6 @@ static void __init kernel_param_sysfs_setup(const char *name, ret = kobject_add(&mk->kobj); BUG_ON(ret < 0); param_sysfs_setup(mk, kparam, num_params, name_skip); mk->drivers_dir = kobject_add_dir(&mk->kobj, "drivers"); kobject_uevent(&mk->kobj, KOBJ_ADD); } Loading