diff options
author | Christian Gromm <christian.gromm@microchip.com> | 2019-04-03 15:19:48 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-04-16 13:25:17 +0200 |
commit | 919c03ae11b98681aedc2ac7d00110c387b92f16 (patch) | |
tree | 47bfe1ea3b7d0ec0e2a38fa6259c546e47bc09bf | |
parent | 9640baca34f57d1a6c78b11cee9eaa2f61a51e97 (diff) | |
download | linux-919c03ae11b98681aedc2ac7d00110c387b92f16.tar.bz2 |
staging: most: enable configfs support
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@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/most/Kconfig | 2 | ||||
-rw-r--r-- | drivers/staging/most/Makefile | 1 | ||||
-rw-r--r-- | drivers/staging/most/cdev/cdev.c | 6 | ||||
-rw-r--r-- | drivers/staging/most/core.c | 2 | ||||
-rw-r--r-- | 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 535455c39fba..db32ea7d1743 100644 --- a/drivers/staging/most/Kconfig +++ b/drivers/staging/most/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 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 c7662f65f6db..85ea5a434ced 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 97408ecc182b..d98977c57a4b 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 d5cf58fd6e3e..e7a8d89b74b4 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 826174273b5c..6b5438c2495b 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); } |