From: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
To: gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
"Jiri Slaby (SUSE)" <jirislaby@kernel.org>,
Richard Henderson <richard.henderson@linaro.org>,
Matt Turner <mattst88@gmail.com>,
linux-alpha@vger.kernel.org
Subject: [PATCH 20/29] tty: srmcons: fix retval from srmcons_init()
Date: Thu, 20 Feb 2025 12:15:57 +0100 [thread overview]
Message-ID: <20250220111606.138045-21-jirislaby@kernel.org> (raw)
In-Reply-To: <20250220111606.138045-1-jirislaby@kernel.org>
The value returned from srmcons_init() was -ENODEV for over 2 decades.
But it does not matter, given device_initcall() ignores retvals.
But to be honest, return 0 in case the tty driver was registered
properly.
To do that, the condition is inverted and a short path taken in case of
error.
err_free_drv is introduced as it will be used from more places later.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: linux-alpha@vger.kernel.org
---
arch/alpha/kernel/srmcons.c | 62 ++++++++++++++++++++-----------------
1 file changed, 33 insertions(+), 29 deletions(-)
diff --git a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c
index 3e61073f4b30..b9cd364e814e 100644
--- a/arch/alpha/kernel/srmcons.c
+++ b/arch/alpha/kernel/srmcons.c
@@ -196,40 +196,44 @@ static const struct tty_operations srmcons_ops = {
static int __init
srmcons_init(void)
{
+ struct tty_driver *driver;
+ int err;
+
timer_setup(&srmcons_singleton.timer, srmcons_receive_chars, 0);
- if (srm_is_registered_console) {
- struct tty_driver *driver;
- int err;
-
- driver = tty_alloc_driver(MAX_SRM_CONSOLE_DEVICES, 0);
- if (IS_ERR(driver))
- return PTR_ERR(driver);
-
- tty_port_init(&srmcons_singleton.port);
-
- driver->driver_name = "srm";
- driver->name = "srm";
- driver->major = 0; /* dynamic */
- driver->minor_start = 0;
- driver->type = TTY_DRIVER_TYPE_SYSTEM;
- driver->subtype = SYSTEM_TYPE_SYSCONS;
- driver->init_termios = tty_std_termios;
- tty_set_operations(driver, &srmcons_ops);
- tty_port_link_device(&srmcons_singleton.port, driver, 0);
- err = tty_register_driver(driver);
- if (err) {
- tty_driver_kref_put(driver);
- tty_port_destroy(&srmcons_singleton.port);
- return err;
- }
- srmcons_driver = driver;
- }
- return -ENODEV;
+ if (!srm_is_registered_console)
+ return -ENODEV;
+
+ driver = tty_alloc_driver(MAX_SRM_CONSOLE_DEVICES, 0);
+ if (IS_ERR(driver))
+ return PTR_ERR(driver);
+
+ tty_port_init(&srmcons_singleton.port);
+
+ driver->driver_name = "srm";
+ driver->name = "srm";
+ driver->major = 0; /* dynamic */
+ driver->minor_start = 0;
+ driver->type = TTY_DRIVER_TYPE_SYSTEM;
+ driver->subtype = SYSTEM_TYPE_SYSCONS;
+ driver->init_termios = tty_std_termios;
+ tty_set_operations(driver, &srmcons_ops);
+ tty_port_link_device(&srmcons_singleton.port, driver, 0);
+ err = tty_register_driver(driver);
+ if (err)
+ goto err_free_drv;
+
+ srmcons_driver = driver;
+
+ return 0;
+err_free_drv:
+ tty_driver_kref_put(driver);
+ tty_port_destroy(&srmcons_singleton.port);
+
+ return err;
}
device_initcall(srmcons_init);
-\f
/*
* The console driver
*/
--
2.48.1
next prev parent reply other threads:[~2025-02-20 11:16 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-20 11:15 [PATCH 00/29] tty: cleanup no. 99 Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 01/29] tty: convert "TTY Struct Flags" to an enum Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 02/29] tty: audit: do not use N_TTY_BUF_SIZE Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 03/29] tty: caif: " Jiri Slaby (SUSE)
2025-02-20 14:27 ` Jakub Kicinski
2025-02-20 11:15 ` [PATCH 04/29] tty: move N_TTY_BUF_SIZE to n_tty Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 05/29] tty: n_tty: use uint for space returned by tty_write_room() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 06/29] tty: n_tty: simplify process_output() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 07/29] tty: n_tty: clean up process_output_block() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 08/29] tty: n_tty: drop n_tty_trace() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 09/29] tty: n_tty: extract n_tty_continue_cookie() from n_tty_read() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 10/29] tty: n_tty: extract n_tty_wait_for_input() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 11/29] tty: n_tty: move more_to_be_read to the end of n_tty_read() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 12/29] tty: tty_driver: move TTY macros to the top Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 13/29] tty: tty_driver: convert "TTY Driver Flags" to an enum Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 14/29] tty: tty_driver: document both {,__}tty_alloc_driver() properly Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 15/29] tty: tty_driver: introduce TTY driver sub/types enums Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 16/29] tty: serdev: drop serdev_controller_ops::write_room() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 17/29] tty: moxa: drop version dump to logs Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 18/29] tty: moxa: drop ISA support Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 19/29] tty: moxa: carve out special ioctls and extra tty_port Jiri Slaby (SUSE)
2025-02-20 11:15 ` Jiri Slaby (SUSE) [this message]
2025-02-20 21:48 ` [PATCH 20/29] tty: srmcons: fix retval from srmcons_init() Magnus Lindholm
2025-02-21 7:53 ` Jiri Slaby
2025-02-20 11:15 ` [PATCH 21/29] tty: staging/greybus: pass tty_driver flags to tty_alloc_driver() Jiri Slaby (SUSE)
2025-02-21 12:25 ` Johan Hovold
2025-02-20 11:15 ` [PATCH 22/29] tty: sunsu: drop serial_{in,out}p() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 23/29] tty: sunsu: remove unused serial_icr_read() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 24/29] serial: remove redundant tty_port_link_device() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 25/29] serial: pass struct uart_state to uart_line_info() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 26/29] serial: 8250: use serial_in/out() helpers Jiri Slaby (SUSE)
2025-02-20 12:27 ` Andy Shevchenko
2025-02-20 14:39 ` Greg KH
2025-02-20 14:57 ` Andy Shevchenko
2025-02-20 15:27 ` Andy Shevchenko
2025-02-20 15:23 ` Andy Shevchenko
2025-02-21 10:07 ` Jiri Slaby
2025-02-20 11:16 ` [PATCH 27/29] serial: 8250_rsa: simplify rsa8250_{request/release}_resource() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 28/29] serial: 8250_port: do not use goto for UPQ_NO_TXEN_TEST code flow Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 29/29] serial: 8250_port: simplify serial8250_request_std_resource() Jiri Slaby (SUSE)
2025-03-17 4:28 ` [PATCH 00/29] tty: cleanup no. 99 Greg KH
2025-03-17 4:59 ` Jiri Slaby
2025-03-17 7:00 ` Greg KH
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=20250220111606.138045-21-jirislaby@kernel.org \
--to=jirislaby@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mattst88@gmail.com \
--cc=richard.henderson@linaro.org \
/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