Re: Standard handling of boolean attributes in sysfs.

From: Jonathan Cameron
Date: Tue Mar 22 2011 - 06:58:37 EST


On 03/21/11 20:14, Greg KH wrote:
> On Mon, Mar 21, 2011 at 08:02:40PM +0000, Jonathan Cameron wrote:
>> Hi All,
>>
>> Just wondering what the feeling would be about having
>> a utility function similar to sysfs_streq to provide a
>> consistent option for all those sysfs attributes out there
>> where
>>
>> 1, on, true -> 1
>> 0, off, false -> 0
>>
>> Or does such a beast already exist and I'm just being unobservant?
>
> We have the one in debugfs that I think people use for sysfs. Have you
> looked at that?
>
Thanks for the pointer...

write_file_bool in fs/debugfs/file.c?

What is there is pretty much what is needed, but it's not a general
use function like sysfs_streq. Clearly it would make sense to use
what is there as a basis of such a function.

To save others looking it up, the relevant bit is:

switch (buf[0]) {
case 'y':
case 'Y':
case '1':
*val = 1;
break;
case 'n':
case 'N':
case '0':
*val = 0;
break;
}

There are a few cut and paste copies of this about (mostly in IIO drivers actually
hence why I asking if there is a better way :).

Unless there is demand for it elsewhere I'll just add a utility function to the IIO
core to do this and we can revisit the case for a general function when the need
turns up elsewhere.

Jonathan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/