diff options
| -rw-r--r-- | fs/debugfs/file.c | 21 | ||||
| -rw-r--r-- | include/linux/debugfs.h | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index 4d74fc72c195..0210898458b2 100644 --- a/fs/debugfs/file.c +++ b/fs/debugfs/file.c | |||
| @@ -277,8 +277,10 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_x32, debugfs_u32_get, debugfs_u32_set, "0x%08llx\n" | |||
| 277 | DEFINE_SIMPLE_ATTRIBUTE(fops_x32_ro, debugfs_u32_get, NULL, "0x%08llx\n"); | 277 | DEFINE_SIMPLE_ATTRIBUTE(fops_x32_ro, debugfs_u32_get, NULL, "0x%08llx\n"); |
| 278 | DEFINE_SIMPLE_ATTRIBUTE(fops_x32_wo, NULL, debugfs_u32_set, "0x%08llx\n"); | 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 | * These functions are exactly the same as the above functions (but use a hex | 285 | * These functions are exactly the same as the above functions (but use a hex |
| 284 | * output for the decimal challenged). For details look at the above unsigned | 286 | * output for the decimal challenged). For details look at the above unsigned |
| @@ -357,6 +359,23 @@ struct dentry *debugfs_create_x32(const char *name, mode_t mode, | |||
| 357 | } | 359 | } |
| 358 | EXPORT_SYMBOL_GPL(debugfs_create_x32); | 360 | EXPORT_SYMBOL_GPL(debugfs_create_x32); |
| 359 | 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); | ||
| 378 | |||
| 360 | 379 | ||
| 361 | static int debugfs_size_t_set(void *data, u64 val) | 380 | static int debugfs_size_t_set(void *data, u64 val) |
| 362 | { | 381 | { |
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index fc1b930f246c..e7d9b20ddc5b 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h | |||
| @@ -63,6 +63,8 @@ struct dentry *debugfs_create_x16(const char *name, mode_t mode, | |||
| 63 | struct dentry *parent, u16 *value); | 63 | struct dentry *parent, u16 *value); |
| 64 | struct dentry *debugfs_create_x32(const char *name, mode_t mode, | 64 | struct dentry *debugfs_create_x32(const char *name, mode_t mode, |
| 65 | struct dentry *parent, u32 *value); | 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 | struct dentry *debugfs_create_size_t(const char *name, mode_t mode, | 68 | struct dentry *debugfs_create_size_t(const char *name, mode_t mode, |
| 67 | struct dentry *parent, size_t *value); | 69 | struct dentry *parent, size_t *value); |
| 68 | struct dentry *debugfs_create_bool(const char *name, mode_t mode, | 70 | struct dentry *debugfs_create_bool(const char *name, mode_t mode, |
