From 995f2738adece4f7423f9ce9ac34ab0477844840 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Mon, 13 Jul 2015 14:04:25 -0300 Subject: lib: add igt_debugfs_read() A helpful function for when you want to read a whole debugfs file to a string and don't want to worry about opening and closing file descriptors and asserting buffer sizes. We've been using this already for kms_frontbuffer_tracking and kms_fbcon_fbt, so the only test with new code here is kms_fbc_crc. Also notice that for kms_fbc_crc we had to increase the buffer size since the file can sometimes be bigger than 64 bytes - depending on the reason why FBC is disabled. Of course, there are probably many other programs we can patch, but I'm not doing this now. v2: Add the macro to wrap sizeof() (Daniel). v3: Add documentation for the macro too (Daniel). Signed-off-by: Paulo Zanoni --- lib/igt_debugfs.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/igt_debugfs.h') diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h index ece71486..78cb5e1c 100644 --- a/lib/igt_debugfs.h +++ b/lib/igt_debugfs.h @@ -34,6 +34,18 @@ enum pipe; int igt_debugfs_open(const char *filename, int mode); FILE *igt_debugfs_fopen(const char *filename, const char *mode); +void __igt_debugfs_read(const char *filename, char *buf, int buf_size); + +/** + * igt_debugfs_read: + * @filename: name of the debugfs file + * @buf: buffer where the contents will be stored, allocated by the caller. + * + * This is just a convenience wrapper for __igt_debugfs_read. See its + * documentation. + */ +#define igt_debugfs_read(filename, buf) \ + __igt_debugfs_read((filename), (buf), sizeof(buf)) /* * Pipe CRC -- cgit v1.2.3