Commit 15b0beaa332b3923cce2ed109e0fb141ec1425d9

Authored by Huang Ying
Committed by Len Brown
1 parent 482908b49e

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

... ... @@ -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,