Message ID | 20191210142531.6447-1-janusz.krzysztofik@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC,i-g-t] lib/sysfs: Add support for getting boolean module parameters | expand |
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; }
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@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> --- lib/igt_sysfs.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)