diff options
Diffstat (limited to 'tools/lib/api/fs/fs.c')
| -rw-r--r-- | tools/lib/api/fs/fs.c | 31 | 
1 files changed, 25 insertions, 6 deletions
diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c index 0700eb953495..798052cbc7c0 100644 --- a/tools/lib/api/fs/fs.c +++ b/tools/lib/api/fs/fs.c @@ -1,5 +1,3 @@ -/* TODO merge/factor in debugfs.c here */ -  #include <ctype.h>  #include <errno.h>  #include <stdbool.h> @@ -26,6 +24,10 @@  #define PROC_SUPER_MAGIC       0x9fa0  #endif +#ifndef DEBUGFS_MAGIC +#define DEBUGFS_MAGIC          0x64626720 +#endif +  static const char * const sysfs__fs_known_mountpoints[] = {  	"/sys",  	0, @@ -36,6 +38,16 @@ static const char * const procfs__known_mountpoints[] = {  	0,  }; +#ifndef DEBUGFS_DEFAULT_PATH +#define DEBUGFS_DEFAULT_PATH "/sys/kernel/debug" +#endif + +static const char * const debugfs__known_mountpoints[] = { +	DEBUGFS_DEFAULT_PATH, +	"/debug", +	0, +}; +  struct fs {  	const char		*name;  	const char * const	*mounts; @@ -45,8 +57,9 @@ struct fs {  };  enum { -	FS__SYSFS  = 0, -	FS__PROCFS = 1, +	FS__SYSFS   = 0, +	FS__PROCFS  = 1, +	FS__DEBUGFS = 2,  };  static struct fs fs__entries[] = { @@ -60,6 +73,11 @@ static struct fs fs__entries[] = {  		.mounts	= procfs__known_mountpoints,  		.magic	= PROC_SUPER_MAGIC,  	}, +	[FS__DEBUGFS] = { +		.name	= "debugfs", +		.mounts	= debugfs__known_mountpoints, +		.magic	= DEBUGFS_MAGIC, +	},  };  static bool fs__read_mounts(struct fs *fs) @@ -176,8 +194,9 @@ const char *name##__mountpoint(void)	\  	return fs__mountpoint(idx);	\  } -FS__MOUNTPOINT(sysfs,  FS__SYSFS); -FS__MOUNTPOINT(procfs, FS__PROCFS); +FS__MOUNTPOINT(sysfs,   FS__SYSFS); +FS__MOUNTPOINT(procfs,  FS__PROCFS); +FS__MOUNTPOINT(debugfs, FS__DEBUGFS);  int filename__read_int(const char *filename, int *value)  {  |