The 'store' function for the "event_char" device attribute currently
expects a base 10 value. The value is composed of an enable bit in bit
8 and an 8-bit "event character" code in bits 7 to 0. It seems
reasonable to allow hexadecimal and octal numbers to be written to the
device attribute in addition to decimal. Make it so.
Change the debug message to show the value in hexadecimal, rather than
decimal.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Johan Hovold <johan@kernel.org>
unsigned int v;
int rv;
- if (kstrtouint(valbuf, 10, &v) || v >= 0x200)
+ if (kstrtouint(valbuf, 0, &v) || v >= 0x200)
return -EINVAL;
- dev_dbg(&port->dev, "%s: setting event char = %i\n", __func__, v);
+ dev_dbg(&port->dev, "%s: setting event char = 0x%03x\n", __func__, v);
rv = usb_control_msg(udev,
usb_sndctrlpipe(udev, 0),