Commit 15b0beaa332b3923cce2ed109e0fb141ec1425d9
Committed by
Len Brown
1 parent
482908b49e
Exists in
master
and in
7 other branches
Add x64 support to debugfs
Add debugfs_create_x64. This is needed by ACPI APEI EINJ parameters support. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
Showing 2 changed files with 22 additions and 1 deletions Side-by-side Diff
fs/debugfs/file.c
... | ... | @@ -277,8 +277,10 @@ |
277 | 277 | DEFINE_SIMPLE_ATTRIBUTE(fops_x32_ro, debugfs_u32_get, NULL, "0x%08llx\n"); |
278 | 278 | DEFINE_SIMPLE_ATTRIBUTE(fops_x32_wo, NULL, debugfs_u32_set, "0x%08llx\n"); |
279 | 279 | |
280 | +DEFINE_SIMPLE_ATTRIBUTE(fops_x64, debugfs_u64_get, debugfs_u64_set, "0x%016llx\n"); | |
281 | + | |
280 | 282 | /* |
281 | - * debugfs_create_x{8,16,32} - create a debugfs file that is used to read and write an unsigned {8,16,32}-bit value | |
283 | + * debugfs_create_x{8,16,32,64} - create a debugfs file that is used to read and write an unsigned {8,16,32,64}-bit value | |
282 | 284 | * |
283 | 285 | * These functions are exactly the same as the above functions (but use a hex |
284 | 286 | * output for the decimal challenged). For details look at the above unsigned |
... | ... | @@ -356,6 +358,23 @@ |
356 | 358 | return debugfs_create_file(name, mode, parent, value, &fops_x32); |
357 | 359 | } |
358 | 360 | EXPORT_SYMBOL_GPL(debugfs_create_x32); |
361 | + | |
362 | +/** | |
363 | + * debugfs_create_x64 - create a debugfs file that is used to read and write an unsigned 64-bit value | |
364 | + * @name: a pointer to a string containing the name of the file to create. | |
365 | + * @mode: the permission that the file should have | |
366 | + * @parent: a pointer to the parent dentry for this file. This should be a | |
367 | + * directory dentry if set. If this parameter is %NULL, then the | |
368 | + * file will be created in the root of the debugfs filesystem. | |
369 | + * @value: a pointer to the variable that the file should read to and write | |
370 | + * from. | |
371 | + */ | |
372 | +struct dentry *debugfs_create_x64(const char *name, mode_t mode, | |
373 | + struct dentry *parent, u64 *value) | |
374 | +{ | |
375 | + return debugfs_create_file(name, mode, parent, value, &fops_x64); | |
376 | +} | |
377 | +EXPORT_SYMBOL_GPL(debugfs_create_x64); | |
359 | 378 | |
360 | 379 | |
361 | 380 | static int debugfs_size_t_set(void *data, u64 val) |
include/linux/debugfs.h
... | ... | @@ -63,6 +63,8 @@ |
63 | 63 | struct dentry *parent, u16 *value); |
64 | 64 | struct dentry *debugfs_create_x32(const char *name, mode_t mode, |
65 | 65 | struct dentry *parent, u32 *value); |
66 | +struct dentry *debugfs_create_x64(const char *name, mode_t mode, | |
67 | + struct dentry *parent, u64 *value); | |
66 | 68 | struct dentry *debugfs_create_size_t(const char *name, mode_t mode, |
67 | 69 | struct dentry *parent, size_t *value); |
68 | 70 | struct dentry *debugfs_create_bool(const char *name, mode_t mode, |