From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johan Hovold Subject: [RFC PATCH 2/3] USB: serial: enable serdev support Date: Fri, 25 May 2018 14:52:56 +0200 Message-ID: <20180525125257.29124-3-johan@kernel.org> References: <20180525125257.29124-1-johan@kernel.org> Return-path: In-Reply-To: <20180525125257.29124-1-johan@kernel.org> Sender: linux-kernel-owner@vger.kernel.org To: Rob Herring Cc: Mark Rutland , Johan Hovold , Greg Kroah-Hartman , Ricardo Ribalda Delgado , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-serial@vger.kernel.org List-Id: linux-serial@vger.kernel.org Enable serdev support by using the serdev opt-in tty-port registration helpers. FIXME: serdev core always allocates and registers a serdev controller during port registration only to immediately roll back in the common case when there is no serdev slave defined in firmware FIXME: serdev does not support hotplugging (e.g. tty port hangups) Not-signed-off-by: Johan Hovold --- drivers/usb/serial/bus.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c index eb0195cf37dd..5f574a418c52 100644 --- a/drivers/usb/serial/bus.c +++ b/drivers/usb/serial/bus.c @@ -60,8 +60,9 @@ static int usb_serial_device_probe(struct device *dev) } minor = port->minor; - tty_dev = tty_port_register_device(&port->port, usb_serial_tty_driver, - minor, dev); + tty_dev = tty_port_register_device_serdev(&port->port, + usb_serial_tty_driver, + minor, dev); if (IS_ERR(tty_dev)) { retval = PTR_ERR(tty_dev); goto err_port_remove; @@ -105,7 +106,7 @@ static int usb_serial_device_remove(struct device *dev) autopm_err = usb_autopm_get_interface(port->serial->interface); minor = port->minor; - tty_unregister_device(usb_serial_tty_driver, minor); + tty_port_unregister_device(&port->port, usb_serial_tty_driver, minor); driver = port->serial->type; if (driver->port_remove) -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC,2/3] USB: serial: enable serdev support From: Johan Hovold Message-Id: <20180525125257.29124-3-johan@kernel.org> Date: Fri, 25 May 2018 14:52:56 +0200 To: Rob Herring Cc: Mark Rutland , Johan Hovold , Greg Kroah-Hartman , Ricardo Ribalda Delgado , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-serial@vger.kernel.org List-ID: RW5hYmxlIHNlcmRldiBzdXBwb3J0IGJ5IHVzaW5nIHRoZSBzZXJkZXYgb3B0LWluIHR0eS1wb3J0 IHJlZ2lzdHJhdGlvbgpoZWxwZXJzLgoKRklYTUU6IHNlcmRldiBjb3JlIGFsd2F5cyBhbGxvY2F0 ZXMgYW5kIHJlZ2lzdGVycyBhIHNlcmRldiBjb250cm9sbGVyCmR1cmluZyBwb3J0IHJlZ2lzdHJh dGlvbiBvbmx5IHRvIGltbWVkaWF0ZWx5IHJvbGwgYmFjayBpbiB0aGUgY29tbW9uCmNhc2Ugd2hl biB0aGVyZSBpcyBubyBzZXJkZXYgc2xhdmUgZGVmaW5lZCBpbiBmaXJtd2FyZQoKRklYTUU6IHNl cmRldiBkb2VzIG5vdCBzdXBwb3J0IGhvdHBsdWdnaW5nIChlLmcuIHR0eSBwb3J0IGhhbmd1cHMp CgpOb3Qtc2lnbmVkLW9mZi1ieTogSm9oYW4gSG92b2xkIDxqb2hhbkBrZXJuZWwub3JnPgotLS0K IGRyaXZlcnMvdXNiL3NlcmlhbC9idXMuYyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9z ZXJpYWwvYnVzLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvYnVzLmMKaW5kZXggZWIwMTk1Y2YzN2Rk Li41ZjU3NGE0MThjNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9idXMuYworKysg Yi9kcml2ZXJzL3VzYi9zZXJpYWwvYnVzLmMKQEAgLTYwLDggKzYwLDkgQEAgc3RhdGljIGludCB1 c2Jfc2VyaWFsX2RldmljZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJfQogCiAJbWlub3Ig PSBwb3J0LT5taW5vcjsKLQl0dHlfZGV2ID0gdHR5X3BvcnRfcmVnaXN0ZXJfZGV2aWNlKCZwb3J0 LT5wb3J0LCB1c2Jfc2VyaWFsX3R0eV9kcml2ZXIsCi0JCQkJCSAgIG1pbm9yLCBkZXYpOworCXR0 eV9kZXYgPSB0dHlfcG9ydF9yZWdpc3Rlcl9kZXZpY2Vfc2VyZGV2KCZwb3J0LT5wb3J0LAorCQkJ CQkJCXVzYl9zZXJpYWxfdHR5X2RyaXZlciwKKwkJCQkJCQltaW5vciwgZGV2KTsKIAlpZiAoSVNf RVJSKHR0eV9kZXYpKSB7CiAJCXJldHZhbCA9IFBUUl9FUlIodHR5X2Rldik7CiAJCWdvdG8gZXJy X3BvcnRfcmVtb3ZlOwpAQCAtMTA1LDcgKzEwNiw3IEBAIHN0YXRpYyBpbnQgdXNiX3NlcmlhbF9k ZXZpY2VfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldikKIAlhdXRvcG1fZXJyID0gdXNiX2F1dG9w bV9nZXRfaW50ZXJmYWNlKHBvcnQtPnNlcmlhbC0+aW50ZXJmYWNlKTsKIAogCW1pbm9yID0gcG9y dC0+bWlub3I7Ci0JdHR5X3VucmVnaXN0ZXJfZGV2aWNlKHVzYl9zZXJpYWxfdHR5X2RyaXZlciwg bWlub3IpOworCXR0eV9wb3J0X3VucmVnaXN0ZXJfZGV2aWNlKCZwb3J0LT5wb3J0LCB1c2Jfc2Vy aWFsX3R0eV9kcml2ZXIsIG1pbm9yKTsKIAogCWRyaXZlciA9IHBvcnQtPnNlcmlhbC0+dHlwZTsK IAlpZiAoZHJpdmVyLT5wb3J0X3JlbW92ZSkK