mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
drm/i915/params: support bool values for int and uint params
It's not uncommon for us to switch param types between bools and ints, often having otherwise bool semantics but -1 value for platform default. Allow bool values (such as YyNn) for ints. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/c945ac7b08e0eb0827cf647609885f4abdb84f1d.1575560168.git.jani.nikula@intel.com
This commit is contained in:
parent
c43c5a8818
commit
a267ab8dec
|
|
@ -32,6 +32,14 @@ static ssize_t i915_param_int_write(struct file *file,
|
|||
int ret;
|
||||
|
||||
ret = kstrtoint_from_user(ubuf, len, 0, value);
|
||||
if (ret) {
|
||||
/* support boolean values too */
|
||||
bool b;
|
||||
|
||||
ret = kstrtobool_from_user(ubuf, len, &b);
|
||||
if (!ret)
|
||||
*value = b;
|
||||
}
|
||||
|
||||
return ret ?: len;
|
||||
}
|
||||
|
|
@ -77,6 +85,14 @@ static ssize_t i915_param_uint_write(struct file *file,
|
|||
int ret;
|
||||
|
||||
ret = kstrtouint_from_user(ubuf, len, 0, value);
|
||||
if (ret) {
|
||||
/* support boolean values too */
|
||||
bool b;
|
||||
|
||||
ret = kstrtobool_from_user(ubuf, len, &b);
|
||||
if (!ret)
|
||||
*value = b;
|
||||
}
|
||||
|
||||
return ret ?: len;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user