From patchwork Sat Oct 10 20:00:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Hurley X-Patchwork-Id: 528652 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 87C681402B7 for ; Sun, 11 Oct 2015 07:02:43 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752778AbbJJUB3 (ORCPT ); Sat, 10 Oct 2015 16:01:29 -0400 Received: from mail-qg0-f41.google.com ([209.85.192.41]:34100 "EHLO mail-qg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752724AbbJJUB0 (ORCPT ); Sat, 10 Oct 2015 16:01:26 -0400 Received: by qgez77 with SMTP id z77so95056201qge.1 for ; Sat, 10 Oct 2015 13:01:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JGrT9FXOJyAUoHS7BBwe0JnHJEJ6soHUIhmhHUTuk5E=; b=idj7hUorKN4AEAtgrFnfzkkQ+Gtw6/KcszPdqC9ZEY3QsrCyTfzktYA4widLJA2G17 sIM8fEbt2qjrN4k9RY0q/Z7DTKcvhO+hkHsAYVicgOpWs4161a7rHoA7cC4Nirndl7RI eWLxhL582oPkPA4hcAt2DDYemELHRnlCWk2DqnW+y9wgSg+pGuCheJvLyAOGavsHz5LS ISC0UaECYiawq1rc3MpnKkLjO+tqzGSjjJW8wNzWr0qDkP9J2QvrwXbNphDkNYIPzV2A barQFSJGG3j4IUrb9hUPm71HIASkdyaX4zmf0+EyUPMNtoiaaNmuOl4HGkeDEE2Lyd4K Qk9A== X-Gm-Message-State: ALoCoQmYWhlrvTXqZPecy+vNgoLxNFt1EhqKc27Ct7OAMZr3R4vY+WhkV8V+YSn+1oGlx3tH/dGQ X-Received: by 10.140.19.49 with SMTP id 46mr6443840qgg.97.1444507285383; Sat, 10 Oct 2015 13:01:25 -0700 (PDT) Received: from thor.lan (c-24-61-92-208.hsd1.nh.comcast.net. [24.61.92.208]) by smtp.gmail.com with ESMTPSA id 128sm3537536qhe.9.2015.10.10.13.01.24 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 10 Oct 2015 13:01:24 -0700 (PDT) From: Peter Hurley To: Greg Kroah-Hartman Cc: Jiri Slaby , Alan Cox , David Laight , Arnd Bergmann , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, netdev@vger.kernel.org, David Miller , Peter Hurley Subject: [PATCH 3/7] usb: gadget: gserial: Privatize close_wait Date: Sat, 10 Oct 2015 16:00:53 -0400 Message-Id: <1444507257-7513-4-git-send-email-peter@hurleysoftware.com> X-Mailer: git-send-email 2.6.1 In-Reply-To: <1444507257-7513-1-git-send-email-peter@hurleysoftware.com> References: <1444507257-7513-1-git-send-email-peter@hurleysoftware.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org close_wait is no longer needed or provided by the tty core. Move close_wait to struct gs_port. Signed-off-by: Peter Hurley --- drivers/usb/gadget/function/u_serial.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c index 7ee0579..42894f5 100644 --- a/drivers/usb/gadget/function/u_serial.c +++ b/drivers/usb/gadget/function/u_serial.c @@ -114,6 +114,7 @@ struct gs_port { struct gs_buf port_write_buf; wait_queue_head_t drain_wait; /* wait while writes drain */ bool write_busy; + wait_queue_head_t close_wait; /* REVISIT this state ... */ struct usb_cdc_line_coding port_line_coding; /* 8-N-1 etc */ @@ -884,7 +885,7 @@ static void gs_close(struct tty_struct *tty, struct file *file) pr_debug("gs_close: ttyGS%d (%p,%p) done!\n", port->port_num, tty, file); - wake_up(&port->port.close_wait); + wake_up(&port->close_wait); exit: spin_unlock_irq(&port->port_lock); } @@ -1044,6 +1045,7 @@ gs_port_alloc(unsigned port_num, struct usb_cdc_line_coding *coding) tty_port_init(&port->port); spin_lock_init(&port->port_lock); init_waitqueue_head(&port->drain_wait); + init_waitqueue_head(&port->close_wait); tasklet_init(&port->push, gs_rx_push, (unsigned long) port); @@ -1074,7 +1076,7 @@ static void gserial_free_port(struct gs_port *port) { tasklet_kill(&port->push); /* wait for old opens to finish */ - wait_event(port->port.close_wait, gs_closed(port)); + wait_event(port->close_wait, gs_closed(port)); WARN_ON(port->port_usb != NULL); tty_port_destroy(&port->port); kfree(port);