From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1347626-1516607957-2-6171557616102223324 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, FREEMAIL_FORGED_FROMDOMAIN 0.25, FREEMAIL_FROM 0.001, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES enroda, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1516607956; b=Nbm3sRfYQZHgSZagebII/XzHDYBvaN34IJqmBD5X1o7aZuJ t6dlegXC3533nZRcVN3ABYqYSeeYZ7j29cSmPEGlxnaxhqOYZLYK1Gd0CRhyAXWb XRkbZmt5LRQZaUk9ylXTh1hir0VvA5F9VF77q47fXYfGF8Ge5PUuWYFYl1z4aQ3A A86LCCzbWX3bMv9tY3iODtDiqMGVYN2mEW3oqm1JsmVznjVdk+cKGyXrKzj+DJ1+ rS+/Q1EVSpBA7L3cfMaXItxTXWg5tl+F2URUxuFA91V7TJQc69ByNnxHQH/qTh9K FpMMHh23Nab5Kzi0UqsTPG6oEwyYCbFlBaxrZig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:sender:list-id; s=arctest; t=1516607956; bh=MFQeTd5l2JQKC2Z4Wsc34qJ6nH9E6/csEL50UhsXZ9I=; b=Lug3nmEBvdjV DFS9h5AUzub8oBO1Gcf8Lpx1UjFILXUWsEalXpv/pzE9KMf3wa8ECI3ZTxehZnOd fRiroML1ZJRE06t75E5lpgK4v28ThDLeJZBrLS82zUZ35Fab614VfwQHbO+kvDos reDw+tTD9eGvKPWabGXsPFwk4iejTjHvThpRtpdbWo2rnOEnL9a1d0jMux7LLKi4 3zgA5PVkZC3OgLlXD4819xyIhSoo83gMzpLEWIvH1Gr7nunI727dl6Ezs/sCLL5s 76Y8kPw3JlBVxRP9CMe2d5k4olmv5ImZHURjx/l1XlfMbloLp1rGqCW4dUEl1aeV WmnqUnMoxw== ARC-Authentication-Results: i=1; mx5.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=iCxJJsog x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=gmail.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-google-dkim=fail (body has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=bc/T8NaB; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=gmail.com header.result=pass header_is_org_domain=yes Authentication-Results: mx5.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=iCxJJsog x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=gmail.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-google-dkim=fail (body has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=bc/T8NaB; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=gmail.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751166AbeAVH67 (ORCPT ); Mon, 22 Jan 2018 02:58:59 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:35351 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750981AbeAVH64 (ORCPT ); Mon, 22 Jan 2018 02:58:56 -0500 X-Google-Smtp-Source: AH8x2251xLMoKcGoMdXzJycJb+peaNFXD7SzKCsZwNeKnV8GhjPerJEERMNFLh5tv/WUpkT/vvc11g== From: "Ji-Ze Hong (Peter Hong)" X-Google-Original-From: "Ji-Ze Hong (Peter Hong)" To: johan@kernel.org Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, peter_hong@fintek.com.tw, "Ji-Ze Hong (Peter Hong)" Subject: [PATCH 4/5] USB: serial: f81232: implement break control Date: Mon, 22 Jan 2018 15:58:46 +0800 Message-Id: <1516607927-8887-4-git-send-email-hpeter+linux_kernel@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516607927-8887-1-git-send-email-hpeter+linux_kernel@gmail.com> References: <1516607927-8887-1-git-send-email-hpeter+linux_kernel@gmail.com> Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Implement Fintek F81232 break on/off with LCR register. It's the same with 16550A LCR register layout. Signed-off-by: Ji-Ze Hong (Peter Hong) --- drivers/usb/serial/f81232.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c index dadf024ae494..a054f69446fd 100644 --- a/drivers/usb/serial/f81232.c +++ b/drivers/usb/serial/f81232.c @@ -377,13 +377,18 @@ static void f81232_process_read_urb(struct urb *urb) static void f81232_break_ctl(struct tty_struct *tty, int break_state) { - /* FIXME - Stubbed out for now */ + struct usb_serial_port *port = tty->driver_data; + struct f81232_private *priv = usb_get_serial_port_data(port); + int status; - /* - * break_state = -1 to turn on break, and 0 to turn off break - * see drivers/char/tty_io.c to see it used. - * last_set_data_urb_value NEVER has the break bit set in it. - */ + mutex_lock(&priv->lock); + + status = f81232_set_mask_register(port, LINE_CONTROL_REGISTER, + UART_LCR_SBC, !!break_state); + if (status) + dev_err(&port->dev, "set break failed: %d\n", status); + + mutex_unlock(&priv->lock); } static int f81232_find_clk(speed_t baudrate) -- 2.7.4