ACPI: add support for configfs
[linux-2.6-block.git] / drivers / acpi / configfs.c
1 /*
2  * ACPI configfs support
3  *
4  * Copyright (c) 2016 Intel Corporation
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by
8  * the Free Software Foundation.
9  */
10
11 #include <linux/init.h>
12 #include <linux/module.h>
13 #include <linux/configfs.h>
14 #include <linux/acpi.h>
15
16 static struct config_item_type acpi_root_group_type = {
17         .ct_owner = THIS_MODULE,
18 };
19
20 static struct configfs_subsystem acpi_configfs = {
21         .su_group = {
22                 .cg_item = {
23                         .ci_namebuf = "acpi",
24                         .ci_type = &acpi_root_group_type,
25                 },
26         },
27         .su_mutex = __MUTEX_INITIALIZER(acpi_configfs.su_mutex),
28 };
29
30 static int __init acpi_configfs_init(void)
31 {
32         int ret;
33         struct config_group *root = &acpi_configfs.su_group;
34
35         config_group_init(root);
36
37         ret = configfs_register_subsystem(&acpi_configfs);
38         if (ret)
39                 return ret;
40
41         return 0;
42 }
43 module_init(acpi_configfs_init);
44
45 static void __exit acpi_configfs_exit(void)
46 {
47         configfs_unregister_subsystem(&acpi_configfs);
48 }
49 module_exit(acpi_configfs_exit);
50
51 MODULE_AUTHOR("Octavian Purdila <octavian.purdila@intel.com>");
52 MODULE_DESCRIPTION("ACPI configfs support");
53 MODULE_LICENSE("GPL v2");