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 4032a675643c380e5b8bbfee0712fe414a2861a2..546171289869b96b836280df9b6116796c99ce1f 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),