USB: serial: ftdi_sio: allow other bases for "event_char"
authorIan Abbott <abbotti@mev.co.uk>
Wed, 8 Mar 2017 16:03:01 +0000 (16:03 +0000)
committerJohan Hovold <johan@kernel.org>
Mon, 13 Mar 2017 15:55:41 +0000 (16:55 +0100)
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>
drivers/usb/serial/ftdi_sio.c

index 4032a67..5461712 100644 (file)
@@ -1741,10 +1741,10 @@ static ssize_t store_event_char(struct device *dev,
        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),