[igt-dev] [RFC PATCH i-g-t] lib/sysfs: Add support for getting boolean module parameters
Chris Wilson
chris at chris-wilson.co.uk
Tue Dec 10 14:30:50 UTC 2019
Quoting Janusz Krzysztofik (2019-12-10 14:25:31)
> 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;
result = !strcasecmp(buf, "Y");
Just for compactness?
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
More information about the igt-dev
mailing list