lkml.org 
[lkml]   [2007]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] ftdi_sio: fix FT232RL support for TIOCMGET
    Date
    From: Francesco Sacchi <batt@develer.com>

    Reading serial port status lines was broken on the FT232RL since when it
    has been detected as a separate chip (2.6.22+). Previously, it would work
    because it was just handled as an FT232BM.

    Additionally, we were also forgetting to remove the dev_attr_latency_timer
    sysfs file in the FT232RL case.

    Note by Bernardo Innocenti: the ftdi_sio maintainer appears to have stepped
    down, so I'm sending this to Greg Kroah-Hartman as the generic USB serial
    maintainer. Please, let me know if this is not appropriate.

    Signed-Off-By: Francesco Sacchi <batt@develer.com>
    Signed-Off-By: Bernardo Innocenti <bernie@codewiz.org>

    ---
    drivers/usb/serial/ftdi_sio.c | 7 +++++--
    1 files changed, 5 insertions(+), 2 deletions(-)

    diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
    index 2d04585..940b0c4 100644
    --- a/drivers/usb/serial/ftdi_sio.c
    +++ b/drivers/usb/serial/ftdi_sio.c
    @@ -892,7 +892,7 @@ static __u32 get_ftdi_divisor(struct usb_serial_port * port)
    break;
    case FT232BM: /* FT232BM chip */
    case FT2232C: /* FT2232C chip */
    - case FT232RL:
    + case FT232RL: /* FT232RL chip */
    if (baud <= 3000000) {
    div_value = ftdi_232bm_baud_to_divisor(baud);
    } else {
    @@ -1169,7 +1169,9 @@ static void remove_sysfs_attrs(struct usb_serial_port *port)
    /* XXX see create_sysfs_attrs */
    if (priv->chip_type != SIO) {
    device_remove_file(&port->dev, &dev_attr_event_char);
    - if (priv->chip_type == FT232BM || priv->chip_type == FT2232C) {
    + if (priv->chip_type == FT232BM ||
    + priv->chip_type == FT2232C ||
    + priv->chip_type == FT232RL) {
    device_remove_file(&port->dev, &dev_attr_latency_timer);
    }
    }
    @@ -2102,6 +2104,7 @@ static int ftdi_tiocmget (struct usb_serial_port *port, struct file *file)
    case FT8U232AM:
    case FT232BM:
    case FT2232C:
    + case FT232RL:
    /* the 8U232AM returns a two byte value (the sio is a 1 byte value) - in the same
    format as the data returned from the in point */
    if ((ret = usb_control_msg(port->serial->dev,
    --
    1.5.2.3
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-10-06 10:09    [W:0.022 / U:0.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site