[igt-dev] [RFC PATCH i-g-t] lib/sysfs: Add support for getting boolean module parameters
Janusz Krzysztofik
janusz.krzysztofik at linux.intel.com
Tue Dec 10 14:25:31 UTC 2019
Boolean module parameters are exposed as "Y"/"N" strings, not 0/1.
Make igt_sysfs_get_boolean() helper useful for getting their values.
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
lib/igt_sysfs.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c
index c439944d..c2b8291d 100644
--- a/lib/igt_sysfs.c
+++ b/lib/igt_sysfs.c
@@ -474,11 +474,23 @@ bool igt_sysfs_set_u32(int dir, const char *attr, uint32_t value)
*/
bool igt_sysfs_get_boolean(int dir, const char *attr)
{
+ char *buf;
int result;
- if (igt_sysfs_scanf(dir, attr, "%d", &result) != 1)
+ buf = igt_sysfs_get(dir, attr);
+ if (!buf)
return false;
+ if (sscanf(buf, "%d", &result) == 1)
+ goto out;
+
+ /* kernel's param_get_bool() returns "Y"/"N" */
+ if (!strcmp(buf, "Y"))
+ result = true;
+ else
+ result = false;
+out:
+ free(buf);
return result;
}
--
2.21.0
More information about the igt-dev
mailing list