Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp654293imu; Fri, 4 Jan 2019 04:49:11 -0800 (PST) X-Google-Smtp-Source: ALg8bN7e1zImjxkl/3a3UX1TQbzJvULomRbnaf0k1OIyKwAbaZC82wnc+P1t9MQgQr8Sjt03LpLa X-Received: by 2002:a63:1f1c:: with SMTP id f28mr20609943pgf.193.1546606151912; Fri, 04 Jan 2019 04:49:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546606151; cv=none; d=google.com; s=arc-20160816; b=XiMC2+Z05kVz6KlZadYrYx4iS9kIwgiImK9/BYhWTFmTG6ttUZYaYWqzktJrVuezDC a81ojkrVhBrYcMTdP1nycQeAPKnLSXd++1hyknVogcJc8jqy8Jc5thgtZDFgJeff1fzR aBfpPPVsD0tGybkV17YsECKhfbjLbhHgkYpxiBq4IrQZmjh5cceGKgPWRvo2GH/GveQy Cn2GIbXAeMLCiwdAsWidxkyYyJjWJj82pRJZhGjn6OOR3VN+ETZek+TB9kQHYZlIatl7 7RlT+4PKKls1eIqPdiiLTCMyQAAYLSAmPLlAkDvdtFwJgLqqaxPyUzzjacE6v9Ch1KAS ulrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=tTyqZ20O8FQUkV8erR6c7WaxlzoCOfqtB7c/KCXbIv8=; b=hH7Ng0L9CnWXDthhVF05/Cu29FRXuwJXbVCQYw5gOWsE5WmkHtFNUdjDHvbFCYv+RB dGQNtO5hfRnl0q3duPnVbFpmoZGUZsBjk4BcXxJzg43J96StWn39zL3wK6eCZTIOwWa+ GJPZWMwvuxNORE9HNvLMciTJhmDaaQ3iv19qARn8r1QimciPITA08O9aNrj5y9cU26fc v2h3X3MiFrkBlBuRQxGbyTJ/fY2JR2R6zsSoS9f5CQuPiL4BM88xS9e8030vEHLXLU5y Rt25T0D2vClHpOmYSxGukE98yF1OPFTyVCmR2DQx1lTAQWbTOf8yeFli2vtl+ofXias1 DtaQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j1si54411418pff.42.2019.01.04.04.48.54; Fri, 04 Jan 2019 04:49:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728188AbfADLWD (ORCPT + 99 others); Fri, 4 Jan 2019 06:22:03 -0500 Received: from mx2.suse.de ([195.135.220.15]:52488 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727706AbfADLVr (ORCPT ); Fri, 4 Jan 2019 06:21:47 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 4E5EEAEB4; Fri, 4 Jan 2019 11:21:45 +0000 (UTC) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= To: linux-lpwan@lists.infradead.org, linux-serial@vger.kernel.org Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold , Rob Herring , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Oliver Neukum , Greg Kroah-Hartman Subject: [PATCH RFC 4/5] usb: cdc-acm: Enable serdev support Date: Fri, 4 Jan 2019 12:21:30 +0100 Message-Id: <20190104112131.14451-5-afaerber@suse.de> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190104112131.14451-1-afaerber@suse.de> References: <20190104112131.14451-1-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Switch from tty_port_register_device() to tty_port_register_device_serdev() and from tty_unregister_device() to tty_port_unregister_device(). On removal of a serdev driver sometimes count mismatch warnings were seen: ttyACM ttyACM0: tty_hangup: tty->count(1) != (#fd's(0) + #kopen's(0)) ttyACM ttyACM0: tty_port_close_start: tty->count = 1 port count = 0 Note: The serdev drivers appear to probe asynchronously as soon as they are registered. Should the USB quirks in probe be moved before registration? No noticeable difference for the devices at hand. Cc: Rob Herring Cc: Johan Hovold Signed-off-by: Andreas Färber --- drivers/usb/class/cdc-acm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index ed8c62b2d9d1..c225a586c524 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -1460,7 +1460,7 @@ static int acm_probe(struct usb_interface *intf, usb_set_intfdata(data_interface, acm); usb_get_intf(control_interface); - tty_dev = tty_port_register_device(&acm->port, acm_tty_driver, minor, + tty_dev = tty_port_register_device_serdev(&acm->port, acm_tty_driver, minor, &control_interface->dev); if (IS_ERR(tty_dev)) { rv = PTR_ERR(tty_dev); @@ -1534,7 +1534,7 @@ static void acm_disconnect(struct usb_interface *intf) acm_kill_urbs(acm); cancel_work_sync(&acm->work); - tty_unregister_device(acm_tty_driver, acm->minor); + tty_port_unregister_device(&acm->port, acm_tty_driver, acm->minor); usb_free_urb(acm->ctrlurb); for (i = 0; i < ACM_NW; i++) -- 2.16.4