This patch enables the configfs functionality of the driver by registering the configfs subsystems and compiling the configfs part of the sources. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> --- v2: - remove call to configfs_exit function v3: v4: - add dependency to CONFIGFS_FS drivers/staging/most/Kconfig | 2 +- drivers/staging/most/Makefile | 1 + drivers/staging/most/cdev/cdev.c | 6 ++++++ drivers/staging/most/core.c | 2 +- drivers/staging/most/sound/sound.c | 11 ++++++++++- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/drivers/staging/most/Kconfig b/drivers/staging/most/Kconfig index 20047ab..fb6b8f7 100644 --- a/drivers/staging/most/Kconfig +++ b/drivers/staging/most/Kconfig @@ -1,6 +1,6 @@ menuconfig MOST tristate "MOST support" - depends on HAS_DMA + depends on HAS_DMA && CONFIGFS_FS default n ---help--- Say Y here if you want to enable MOST support. diff --git a/drivers/staging/most/Makefile b/drivers/staging/most/Makefile index c7662f6..85ea5a4 100644 --- a/drivers/staging/most/Makefile +++ b/drivers/staging/most/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST) += most_core.o most_core-y := core.o +most_core-y += configfs.o ccflags-y += -I $(srctree)/drivers/staging/ obj-$(CONFIG_MOST_CDEV) += cdev/ diff --git a/drivers/staging/most/cdev/cdev.c b/drivers/staging/most/cdev/cdev.c index 97408ec..d98977c 100644 --- a/drivers/staging/most/cdev/cdev.c +++ b/drivers/staging/most/cdev/cdev.c @@ -527,8 +527,13 @@ static int __init mod_init(void) err = most_register_component(&comp.cc); if (err) goto free_cdev; + err = most_register_configfs_subsys(&comp.cc); + if (err) + goto deregister_comp; return 0; +deregister_comp: + most_deregister_component(&comp.cc); free_cdev: unregister_chrdev_region(comp.devno, CHRDEV_REGION_SIZE); dest_ida: @@ -543,6 +548,7 @@ static void __exit mod_exit(void) pr_info("exit module\n"); + most_deregister_configfs_subsys(&comp.cc); most_deregister_component(&comp.cc); list_for_each_entry_safe(c, tmp, &channel_list, list) { diff --git a/drivers/staging/most/core.c b/drivers/staging/most/core.c index 0bdd24d..dbca6b0 100644 --- a/drivers/staging/most/core.c +++ b/drivers/staging/most/core.c @@ -1765,7 +1765,7 @@ static int __init most_init(void) err = -ENOMEM; goto err_unregister_driver; } - + configfs_init(); return 0; err_unregister_driver: diff --git a/drivers/staging/most/sound/sound.c b/drivers/staging/most/sound/sound.c index 8261742..6b5438c 100644 --- a/drivers/staging/most/sound/sound.c +++ b/drivers/staging/most/sound/sound.c @@ -790,16 +790,25 @@ static struct core_component comp = { static int __init audio_init(void) { + int ret; + pr_info("init()\n"); INIT_LIST_HEAD(&adpt_list); - return most_register_component(&comp); + ret = most_register_component(&comp); + if (ret) + pr_err("Failed to register %s\n", comp.name); + ret = most_register_configfs_subsys(&comp); + if (ret) + pr_err("Failed to register %s configfs subsys\n", comp.name); + return ret; } static void __exit audio_exit(void) { pr_info("exit()\n"); + most_deregister_configfs_subsys(&comp); most_deregister_component(&comp); } -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel