Exemple #1
0
/**
 * dtbocfg_module_init()
 */
static int __init dtbocfg_module_init(void)
{
    int retval = 0;

    pr_info("%s\n", __func__);

    config_group_init(&dtbocfg_root_subsys.su_group);
    config_group_init_type_name(&dtbocfg_overlay_group, "overlays", &dtbocfg_overlays_type);

    retval = configfs_register_subsystem(&dtbocfg_root_subsys);
    if (retval != 0) {
        pr_err( "%s: couldn't register subsys\n", __func__);
        goto register_subsystem_failed;
    }

    retval = configfs_register_group(&dtbocfg_root_subsys.su_group, &dtbocfg_overlay_group);
    if (retval != 0) {
        pr_err( "%s: couldn't register group\n", __func__);
        goto register_group_failed;
    }

    pr_info("%s: OK\n", __func__);
    return 0;

  register_group_failed:
    configfs_unregister_subsystem(&dtbocfg_root_subsys);
  register_subsystem_failed:
    return retval;
}
void uninit_configfs_setup(void)
{
	int i;

	for (i = 0; configfs_subsys[i]; i++)
		configfs_unregister_subsystem(configfs_subsys[i]);
}
void init_configfs_setup(void)
{
	int ret;
	int i;
	struct configfs_subsystem *subsys;

	for (i = 0; configfs_subsys[i]; i++) {
		subsys = configfs_subsys[i];
		config_group_init(&subsys->su_group);
		mutex_init(&subsys->su_mutex);
		ret = configfs_register_subsystem(subsys);
		if (ret) {
			PRINTK_ERROR("Error %d while registering subsystem %s\n",
				ret,
				subsys->su_group.cg_item.ci_namebuf);
			goto out_unregister;
		}
	}

	return;

out_unregister:
	for (i--; i >= 0; i--)
		configfs_unregister_subsystem(configfs_subsys[i]);
}
Exemple #4
0
static void __exit gpiommc_modexit(void)
{
#ifdef CONFIG_GPIOMMC_CONFIGFS
	configfs_unregister_subsystem(&gpiommc_subsys);
#endif
	platform_driver_unregister(&gpiommc_plat_driver);
}
static void __exit dynamic_netconsole_exit(void)
{
	configfs_unregister_subsystem(&netconsole_subsys);
}
static void __exit iio_configfs_exit(void)
{
	configfs_unregister_subsystem(&iio_configfs_subsys);
}
Exemple #7
0
/**
 * dtbocfg_module_exit()
 */
static void __exit dtbocfg_module_exit(void)
{
    configfs_unregister_group(&dtbocfg_overlay_group);
    configfs_unregister_subsystem(&dtbocfg_root_subsys);
}