1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- * Architecture specific debugfs files
- *
- * Copyright (C) 2007, Intel Corp.
- * Huang Ying <ying.huang@intel.com>
- *
- * This file is released under the GPLv2.
- */
- #include <linux/debugfs.h>
- #include <linux/stat.h>
- #include <linux/init.h>
- #include <asm/setup.h>
- #ifdef CONFIG_DEBUG_BOOT_PARAMS
- static struct debugfs_blob_wrapper boot_params_blob = {
- .data = &boot_params,
- .size = sizeof(boot_params),
- };
- static int __init boot_params_kdebugfs_init(void)
- {
- int error;
- struct dentry *dbp, *version, *data;
- dbp = debugfs_create_dir("boot_params", NULL);
- if (!dbp) {
- error = -ENOMEM;
- goto err_return;
- }
- version = debugfs_create_x16("version", S_IRUGO, dbp,
- &boot_params.hdr.version);
- if (!version) {
- error = -ENOMEM;
- goto err_dir;
- }
- data = debugfs_create_blob("data", S_IRUGO, dbp,
- &boot_params_blob);
- if (!data) {
- error = -ENOMEM;
- goto err_version;
- }
- return 0;
- err_version:
- debugfs_remove(version);
- err_dir:
- debugfs_remove(dbp);
- err_return:
- return error;
- }
- #endif
- static int __init arch_kdebugfs_init(void)
- {
- int error = 0;
- #ifdef CONFIG_DEBUG_BOOT_PARAMS
- error = boot_params_kdebugfs_init();
- #endif
- return error;
- }
- arch_initcall(arch_kdebugfs_init);
|