From: Johan Hovold <johan@kernel.org>
To: Johan Hovold <johan@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ryan Mann <rmann@ndigital.com>,
Andreas Messer <andi@bastelmap.de>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 7/8] USB: serial: ftdi_sio: clean up NDI speed hack
Date: Mon, 10 Nov 2025 12:12:11 +0100 [thread overview]
Message-ID: <20251110111212.32702-8-johan@kernel.org> (raw)
In-Reply-To: <20251110111212.32702-1-johan@kernel.org>
NDI devices remap the 19200 line speed to 1.2 Mbps.
Use the quirk pointer from the match table to enable the quirk instead
of comparing PIDs on every speed change.
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/ftdi_sio.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index f5786689697c..26f1260ff995 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1247,6 +1247,7 @@ static int update_mctrl(struct usb_serial_port *port, unsigned int set,
static u32 get_ftdi_divisor(struct tty_struct *tty,
struct usb_serial_port *port)
{
+ const struct ftdi_quirk *quirk = usb_get_serial_data(port->serial);
struct ftdi_private *priv = usb_get_serial_port_data(port);
struct device *dev = &port->dev;
u32 div_value = 0;
@@ -1306,17 +1307,8 @@ static u32 get_ftdi_divisor(struct tty_struct *tty,
case FT232R:
case FTX:
if (baud <= 3000000) {
- u16 product_id = le16_to_cpu(
- port->serial->dev->descriptor.idProduct);
- if (((product_id == FTDI_NDI_HUC_PID) ||
- (product_id == FTDI_NDI_SPECTRA_SCU_PID) ||
- (product_id == FTDI_NDI_FUTURE_2_PID) ||
- (product_id == FTDI_NDI_FUTURE_3_PID) ||
- (product_id == FTDI_NDI_AURORA_SCU_PID) ||
- (product_id == FTDI_NDI_EMGUIDE_GEMINI_PID)) &&
- (baud == 19200)) {
+ if (quirk == &ftdi_ndi_quirk && baud == 19200)
baud = 1200000;
- }
div_value = ftdi_232bm_baud_to_divisor(baud);
} else {
dev_dbg(dev, "%s - Baud rate too high!\n", __func__);
--
2.51.0
next prev parent reply other threads:[~2025-11-10 11:14 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-10 11:12 [PATCH 0/8] USB: serial: ftdi_sio: clean up quirk handling Johan Hovold
2025-11-10 11:12 ` [PATCH 1/8] USB: serial: ftdi_sio: match on interface number for jtag Johan Hovold
2025-11-10 11:12 ` [PATCH 2/8] USB: serial: ftdi_sio: silence jtag probe Johan Hovold
2025-11-10 11:12 ` [PATCH 3/8] USB: serial: ftdi_sio: rewrite 8u2232c quirk Johan Hovold
2025-11-10 11:12 ` [PATCH 4/8] USB: serial: ftdi_sio: clean up quirk comments Johan Hovold
2025-11-10 11:12 ` [PATCH 5/8] USB: serial: ftdi_sio: rename quirk symbols Johan Hovold
2025-11-10 11:12 ` [PATCH 6/8] USB: serial: ftdi_sio: enable NDI speed hack consistently Johan Hovold
2025-11-10 11:12 ` Johan Hovold [this message]
2025-11-10 11:12 ` [PATCH 8/8] USB: serial: ftdi_sio: drop NDI quirk module parameter Johan Hovold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251110111212.32702-8-johan@kernel.org \
--to=johan@kernel.org \
--cc=andi@bastelmap.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=rmann@ndigital.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox