From patchwork Tue Mar 11 03:31:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Simonelli X-Patchwork-Id: 872785 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A97B81EB198; Tue, 11 Mar 2025 03:31:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741663911; cv=none; b=CI/0CHuo6OlLFzojRW973o9UycetULPsOfKBJU5G8pOndNSNH/LTz7FfVe35qslmH31cGfC3sWlZIIH7rAV4zyI755HgCB/KXtQ5kJ44zjQPI+LU2pEeuOt8/NCXJIdUBxG4nvKOQBucpJc9K6+PtH4pGzdxtf55r+n+gTjQZIc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741663911; c=relaxed/simple; bh=Nxd57m3NJdibA2oX+FRYFHVGk89RBSkaja9sGdB3cBE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tZw24XpYmffE4YuriGbBTSx+Ii+RYK/lmC8bQDrAdV+5iKLmUOhKp7jG5RqlzL0sW+sD4KidepqvsitsYfNyKXJS8GH9mBEU3MoED4uPv/xhzQDioYv2VGn0jWSELQuqNdF/uFDwqD8qMXeFuBF2Nyq3NBtK3khCRHZq69oLGFc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Xw8vmyXH; arc=none smtp.client-ip=209.85.222.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Xw8vmyXH" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7c54f67db99so137750585a.1; Mon, 10 Mar 2025 20:31:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741663908; x=1742268708; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4oSwziDsvKFTJXuiRqL1YfUkGA94TmfsRfg9TxsllkI=; b=Xw8vmyXH29pMarbEsKji0obUWnCW7G5fYfACCiGuvV+FD5LthRTNY8m/n8GRfyatjQ gKqdApAUCRkhhQhp4wmcTqQPAID32xzN1kr0pMiM8EiPKXc0ZnD8LJM3IgxRspERH5/y P5T8web+ynJBXMRCWkRnZS6HjY/mNvBhRTc9jSdDUHj52zCJiEUseKO6jNjMpQn2mktY NI5u+7xF1oFmikXIG3V4jBHR+Df8hQB34DcmUbnoW0nmakyTvMnHZ+iwoNpKzpJGqM5I jOuYDR+E2iLEDR70cLaKsdHUrzC4MzqNHli3r+r2ED7N92iXA4teMZPUB9ZpWJVjUn30 WZPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741663908; x=1742268708; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4oSwziDsvKFTJXuiRqL1YfUkGA94TmfsRfg9TxsllkI=; b=VCZC4ejHL32EboM9r3vwcILXHxx/uV2M+tKwE285oGq5J5N3GziDqGBBm/gyFzu57S gPIeMC9AwMlHi/yIxRMwrF8YIxO7z+rEw72/AOX9BdzbmZ3pW5vrKQv3jxLaXXxFf594 LLk7edWUDFccVghGX8f+VZJ1IdIFWGtQL02oHaVoJgSlL3jdm3UfVovMkCkpCeYmQeQY 6HLwN308tFv6TUSqZJ8VcPNtDbVZGBXA+dkf+u8yIxt7KKGaqnxczsgF7IMiB+F/2+J0 dX5cYzEtYJUIDxM3NU0fak/9OJeOGU6uTYULzFpF/l51/RsTmMR+mZGESsObe/M6ugBm 0xIQ== X-Forwarded-Encrypted: i=1; AJvYcCVWf+9/enr3NjvOwc1bCd+m+XRUuHSTHYaWBKUkenHlVAx7Mo9ZCV4vOPkszZlP3YBsKWIa+XEb3HSf8Ww=@vger.kernel.org X-Gm-Message-State: AOJu0YwSUH6Iu245u7z5JUwOoEC5z/Cn0eqcTQEnvBPiqtYWeHIdCGD+ 61b9hhiW30e1YKrBJMDVYfsJ0DN0HH3imfiv1E7UxFXlIIXGsF0gTuWd9ACa X-Gm-Gg: ASbGncuMFVlZKLzxTklSzkj76cgbGO2Xqvooyev4qk/SHmxhIQa+BgMCHnvfkhqcgtz 1WQ2KMJRBWkJ8pfh7OhK7z566o6E6Ub7ExwmcFQLI0mgTKSRFFSqJiCWFLhJc9rqeRIaSE8s4RG u3PbZ/3P5/VZT4851LEsWHfX72Jymu/7up53yjn7TadR84uWXHgbHA5vsaTI1/b5/Q1gqSYq7MZ yxRI3ZQyCborBrp85geNXOlDT2/XK8IFNvfxHt+BZ/z8u3BIaQJsz3L9VlxsRflaxL42/t4abC6 hf+99sHgYRnTEQIgGlnU49YsEWVb3C6K9Xopfo961YWUzZWjsMxdGKSUJC6QA6Oh/oBpcRTIFki kRr8C02Q= X-Google-Smtp-Source: AGHT+IFFcOoLxYbcFoq2EKXWhDHAIqJd9bXV7vm6uNhfgjef7g8cAwQoCjN0z6xXPQSPleRrcAuGig== X-Received: by 2002:a05:620a:688b:b0:7c5:3da4:5bcb with SMTP id af79cd13be357-7c55eecfd37mr344036885a.10.1741663908257; Mon, 10 Mar 2025 20:31:48 -0700 (PDT) Received: from nerdopolis2.mynetworksettings.com ([2600:4040:5e66:a800:aa39:bd07:6207:ac0d]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c54c204e36sm342772385a.40.2025.03.10.20.31.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 20:31:47 -0700 (PDT) From: adamsimonelli@gmail.com To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby , Greg Kroah-Hartman , Andy Shevchenko , Steven Rostedt , John Ogness , Sergey Senozhatsky , Petr Mladek Cc: Adam Simonelli Subject: [PATCH v8 2/4] ttynull: Add an option to allow ttynull to be used as a console device Date: Mon, 10 Mar 2025 23:31:31 -0400 Message-ID: <20250311033133.1859963-3-adamsimonelli@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250311033133.1859963-1-adamsimonelli@gmail.com> References: <20250311033133.1859963-1-adamsimonelli@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Adam Simonelli The new config option, CONFIG_NULL_TTY_DEFAULT_CONSOLE will allow ttynull to be initialized by console_initcall() and selected as a possible console device. Signed-off-by: Adam Simonelli --- drivers/tty/Kconfig | 15 ++++++++++++++- drivers/tty/ttynull.c | 13 +++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig index 63a494d36a1f..edf557c73586 100644 --- a/drivers/tty/Kconfig +++ b/drivers/tty/Kconfig @@ -383,7 +383,20 @@ config NULL_TTY available or desired. In order to use this driver, you should redirect the console to this - TTY, or boot the kernel with console=ttynull. + TTY, boot the kernel with console=ttynull, or enable + NULL_TTY_DEFAULT_CONSOLE. + + If unsure, say N. + +config NULL_TTY_DEFAULT_CONSOLE + bool "Support for console on ttynull" + depends on NULL_TTY=y && !VT_CONSOLE + help + Say Y here if you want the NULL TTY to be used as a /dev/console + device. + + This is similar to VT_CONSOLE, but without the dependency on VT. + It uses the ttynull driver as the system console. If unsure, say N. diff --git a/drivers/tty/ttynull.c b/drivers/tty/ttynull.c index d8b51edde628..67aad3e6f538 100644 --- a/drivers/tty/ttynull.c +++ b/drivers/tty/ttynull.c @@ -96,6 +96,19 @@ static int __init ttynull_init(void) return 0; } +#ifdef CONFIG_NULL_TTY_DEFAULT_CONSOLE +static int __init ttynull_register(void) +{ + if (console_set_on_cmdline) + return 0; + + add_preferred_console("ttynull", 0, NULL); + + return 0; +} +console_initcall(ttynull_register); +#endif + static void __exit ttynull_exit(void) { unregister_console(&ttynull_console); From patchwork Tue Mar 11 03:31:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Simonelli X-Patchwork-Id: 872784 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9F4B1EDA03; Tue, 11 Mar 2025 03:31:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741663918; cv=none; b=Uosz5CH0tgHogUEQ7MvskRMf+CH6NNffMneo+dateZScTYRFm/O/nicGyZ3u1jTIJ6sD/+Uoli4O8ShxvVMBrzSpK/SAGYd8fp9lEO/6/NDm1AuNqcY2VvylKQvDyWa1mDBZhTIVA5e7jEyVuGdGw0qHNwQ5LWd02X3fZ09bniE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741663918; c=relaxed/simple; bh=/TKgmRcpR6FwG+QP75QeweLLHLthLmIsWG6RxmlgQmg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Hyml4lORjsW45ZiFaZJyzusoH7NtPzTpJ0HHmWxDICMnvrICDVNP693l5uz824y7X1uGGBdMcoWAZtyGL3keHaBexLeT0eSR/3FJeivbly6XPnyJiYyPMulkIJBsmwGA7Rci0sUhnFdAxF9ssZS9DDqA0okmnTN8PIbracB7LoE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RkeYEAl+; arc=none smtp.client-ip=209.85.222.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RkeYEAl+" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7c04df48a5bso438173285a.2; Mon, 10 Mar 2025 20:31:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741663914; x=1742268714; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tEOdYvwBabq4hLr7eGLZh7Wd260T/gAnmabJNmIq24s=; b=RkeYEAl+wC0znmtUydZvF81b6zA6maDdvgFxVzfKhsn9iaMF58l7nCicf6jKzGOLka Jnu6/DaSbKdSivnU3uwSCatjdXnemjZ/T41cECe997e/f+gPF9UgyE4qdgZgGH5UJpjF fNVR0M4KurScNPX5cpYe2XsQv8ymXF0nYcacNhLo8q1RsVSzqBu1JehBXlqzUB4XkLJN +8Lky4/O2aO3vEbXRceSQNQaqQdiHvaOznSXBqvFl9Yle2IEXq9/VY3Ws5Z0HQ6zvZxC bTlHZX3kjW4GYZhVA1XjQlkwTBcESSLyar6NdRjj+Sg9E3TQlmAPdahwD14K3eQvlVko XAxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741663914; x=1742268714; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tEOdYvwBabq4hLr7eGLZh7Wd260T/gAnmabJNmIq24s=; b=mz2SXg3UdcpWWomO/Isg7fx8EUDSD528c29fvd/eAW69YCMMYCrzX28nI2GyIgqfeK 3CNKu4Gcm9yyoN+iejPGQU2UqadvrMkj30SkYUDEISCV9YHSUZ57p5xkVQEsFagNuGy5 RfjN43sHR1iQhH8eHte97KDhxxcbdCbX8gmDgIc+uuTAhBql7Ei27hUxudCnbq/Vp2in 4drVqOc/sigmyYkOs6mqQ8ZmYteB4Hreinc3pRx/0RHD9Zh187vI8JTr21FwR5gfc1/K 2DdfkNpaa7/G3LykjoQbu8Ca/Sf9xvb7fe7oJlLvZS0s+G9+bt1j0RQ6iT0m3s3mtc9p PMbQ== X-Forwarded-Encrypted: i=1; AJvYcCV+ybUS/JLyu0Ed5QSX/fNzwEkWs3hRAGDT9WpQOlRBHffjEaEJoVP1NrForzOLY5z0GcNFu8cVi9WAKwk=@vger.kernel.org X-Gm-Message-State: AOJu0YyOp3T92kgchvxuDvgmXY/0gO45r7NbKHXH4CTvz9ybiwJW5Uwl 3y0NnY7ctQMXXY+XM59CQkOy/CCIi0RyuvvwzSv/Cdjafk3kTXqzqsiBlcdR X-Gm-Gg: ASbGncscR44+c0S3TCpDJNIluRPzd/6YuEHGqTeY50QhMagwOcWd4p16qPhD4WQF6Hw lF/Ozj9lrllFIyc9JP6In2nX+5HHJAuinvcKp7Bn4+b6JIbXseMW4EPqdQgQfj6CATLO+oksHwK GrUBBrDBhfJpcKJSjJQXClNu52+sRWpYsVAMwe7uEyLa0RCvrdUiBWF0ziF2umr6tPdzlbuwahF +LEWZeAFFpE5XzMokKlbrB1dAAt8sh0oIDeTQq7dYH1J9rJ4KGvIgMTJDC1NBdAH433afwukq8A 9giMwY45WgKxIKkP+B7BzxL2ll0GDIYPOMPrsBxrOto8uCGPkHf44hg2ADTVyWBNAYnIQ/m8uqG irhiJJPpA5k3AFWxBOA== X-Google-Smtp-Source: AGHT+IHIAyzXVA/iU++8gfxQ63RCGP5YFcZSH8DC2qBAqSfVfKP1LwdcEzYiabOBoLCtcoyEq3huvg== X-Received: by 2002:a05:620a:6407:b0:7c5:565a:2177 with SMTP id af79cd13be357-7c5565a2b71mr687815285a.33.1741663913931; Mon, 10 Mar 2025 20:31:53 -0700 (PDT) Received: from nerdopolis2.mynetworksettings.com ([2600:4040:5e66:a800:aa39:bd07:6207:ac0d]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c54c204e36sm342772385a.40.2025.03.10.20.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 20:31:52 -0700 (PDT) From: adamsimonelli@gmail.com To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby , Greg Kroah-Hartman , Andy Shevchenko , Steven Rostedt , John Ogness , Sergey Senozhatsky , Petr Mladek Cc: Adam Simonelli Subject: [PATCH v8 4/4] Documentation/serial-console: Document CONFIG_NULL_TTY_DEFAULT_CONSOLE. Date: Mon, 10 Mar 2025 23:31:33 -0400 Message-ID: <20250311033133.1859963-5-adamsimonelli@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250311033133.1859963-1-adamsimonelli@gmail.com> References: <20250311033133.1859963-1-adamsimonelli@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Adam Simonelli When the kernel is compiled with CONFIG_NULL_TTY_DEFAULT_CONSOLE and no console= options are selected, it defaults to using the ttynull device. --- Documentation/admin-guide/serial-console.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/serial-console.rst b/Documentation/admin-guide/serial-console.rst index a3dfc2c66e01..1609e7479249 100644 --- a/Documentation/admin-guide/serial-console.rst +++ b/Documentation/admin-guide/serial-console.rst @@ -78,7 +78,9 @@ If no console device is specified, the first device found capable of acting as a system console will be used. At this time, the system first looks for a VGA card and then for a serial port. So if you don't have a VGA card in your system the first serial port will automatically -become the console. +become the console, unless the kernel is configured with the +CONFIG_NULL_TTY_DEFAULT_CONSOLE option, then it will default to using the +ttynull device. You will need to create a new device to use ``/dev/console``. The official ``/dev/console`` is now character device 5,1.