Boolean module parameters are exposed as "Y"/"N" strings, not 0/1. Make igt_sysfs_get_boolean() helper useful for getting their values. v2: Use case insensitive string compare and more compact style (Chris) Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- I've made it still more compact by eliminating a goto, Chris, I hope your Reviewed-by: still applies. Thanks, Janusz lib/igt_sysfs.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c index c439944d..17d0ab80 100644 --- a/lib/igt_sysfs.c +++ b/lib/igt_sysfs.c @@ -474,11 +474,19 @@ 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) { + /* kernel's param_get_bool() returns "Y"/"N" */ + result = !strcasecmp(buf, "Y"); + } + + free(buf); return result; } -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx