]>
Commit | Line | Data |
---|---|---|
0bf54fcd OP |
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"); |