1 #include <linux/kernel.h>
2 #include <linux/acpi.h>
3 #include <linux/debugfs.h>
6 MODULE_AUTHOR("Thomas Renninger <trenn@suse.de>");
7 MODULE_DESCRIPTION("ACPI EC sysfs access driver");
10 struct sysdev_class acpi_ec_sysdev_class
= {
14 static struct dentry
*acpi_ec_debugfs_dir
;
16 int acpi_ec_add_debugfs(struct acpi_ec
*ec
, unsigned int ec_device_count
)
18 struct dentry
*dev_dir
;
20 if (ec_device_count
== 0) {
21 acpi_ec_debugfs_dir
= debugfs_create_dir("ec", NULL
);
22 if (!acpi_ec_debugfs_dir
)
26 sprintf(name
, "ec%u", ec_device_count
);
27 dev_dir
= debugfs_create_dir(name
, acpi_ec_debugfs_dir
);
29 if (ec_device_count
== 0)
30 debugfs_remove_recursive(acpi_ec_debugfs_dir
);
31 /* TBD: Proper cleanup for multiple ECs */
35 debugfs_create_x32("gpe", 0444, dev_dir
, (u32
*)&first_ec
->gpe
);
36 debugfs_create_bool("use_global_lock", 0444, dev_dir
,
37 (u32
*)&first_ec
->global_lock
);
41 static int __init
acpi_ec_sys_init(void)
45 err
= acpi_ec_add_debugfs(first_ec
, 0);
51 static void __exit
acpi_ec_sys_exit(void)
53 debugfs_remove_recursive(acpi_ec_debugfs_dir
);
56 module_init(acpi_ec_sys_init
);
57 module_exit(acpi_ec_sys_exit
);