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>
This commit is contained in:
Christian Gromm 2019-04-03 15:19:48 +02:00 committed by Greg Kroah-Hartman
parent 9640baca34
commit 919c03ae11
5 changed files with 19 additions and 3 deletions

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
menuconfig MOST menuconfig MOST
tristate "MOST support" tristate "MOST support"
depends on HAS_DMA depends on HAS_DMA && CONFIGFS_FS
default n default n
---help--- ---help---
Say Y here if you want to enable MOST support. Say Y here if you want to enable MOST support.

View File

@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_MOST) += most_core.o obj-$(CONFIG_MOST) += most_core.o
most_core-y := core.o most_core-y := core.o
most_core-y += configfs.o
ccflags-y += -I $(srctree)/drivers/staging/ ccflags-y += -I $(srctree)/drivers/staging/
obj-$(CONFIG_MOST_CDEV) += cdev/ obj-$(CONFIG_MOST_CDEV) += cdev/

View File

@ -527,8 +527,13 @@ static int __init mod_init(void)
err = most_register_component(&comp.cc); err = most_register_component(&comp.cc);
if (err) if (err)
goto free_cdev; goto free_cdev;
err = most_register_configfs_subsys(&comp.cc);
if (err)
goto deregister_comp;
return 0; return 0;
deregister_comp:
most_deregister_component(&comp.cc);
free_cdev: free_cdev:
unregister_chrdev_region(comp.devno, CHRDEV_REGION_SIZE); unregister_chrdev_region(comp.devno, CHRDEV_REGION_SIZE);
dest_ida: dest_ida:
@ -543,6 +548,7 @@ static void __exit mod_exit(void)
pr_info("exit module\n"); pr_info("exit module\n");
most_deregister_configfs_subsys(&comp.cc);
most_deregister_component(&comp.cc); most_deregister_component(&comp.cc);
list_for_each_entry_safe(c, tmp, &channel_list, list) { list_for_each_entry_safe(c, tmp, &channel_list, list) {

View File

@ -1765,7 +1765,7 @@ static int __init most_init(void)
err = -ENOMEM; err = -ENOMEM;
goto err_unregister_driver; goto err_unregister_driver;
} }
configfs_init();
return 0; return 0;
err_unregister_driver: err_unregister_driver:

View File

@ -790,16 +790,25 @@ static struct core_component comp = {
static int __init audio_init(void) static int __init audio_init(void)
{ {
int ret;
pr_info("init()\n"); pr_info("init()\n");
INIT_LIST_HEAD(&adpt_list); 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) static void __exit audio_exit(void)
{ {
pr_info("exit()\n"); pr_info("exit()\n");
most_deregister_configfs_subsys(&comp);
most_deregister_component(&comp); most_deregister_component(&comp);
} }