linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] serdev: Don't claim unsupported serial devices
@ 2019-12-18  6:56 Punit Agrawal
  2019-12-18  8:10 ` Greg Kroah-Hartman
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Punit Agrawal @ 2019-12-18  6:56 UTC (permalink / raw)
  To: linux-serial
  Cc: Punit Agrawal, linux-acpi, linux-kernel, nobuhiro1.iwamatsu,
	shrirang.bagul, stable, Rob Herring, Greg Kroah-Hartman,
	Johan Hovold, Hans de Goede

Serdev sub-system claims all serial devices that are not already
enumerated. As a result, no device node is created for serial port on
certain boards such as the Apollo Lake based UP2. This has the
unintended consequence of not being able to raise the login prompt via
serial connection.

Introduce a blacklist to reject devices that should not be treated as
a serdev device. Add the Intel HS UART peripheral ids to the blacklist
to bring back serial port on SoCs carrying them.

Cc: stable@vger.kernel.org
Signed-off-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
Cc: Rob Herring <robh@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Johan Hovold <johan@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
---

Hi,

The patch has been updated based on feedback recieved on the RFC[0].

Please consider merging if there are no objections.

Thanks,
Punit

[0] https://www.spinics.net/lists/linux-serial/msg36646.html

 drivers/tty/serdev/core.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
index 226adeec2aed..0d64fb7d4f36 100644
--- a/drivers/tty/serdev/core.c
+++ b/drivers/tty/serdev/core.c
@@ -663,6 +663,12 @@ static acpi_status acpi_serdev_register_device(struct serdev_controller *ctrl,
 	return AE_OK;
 }
 
+static const struct acpi_device_id serdev_blacklist_devices[] = {
+	{"INT3511", 0},
+	{"INT3512", 0},
+	{ },
+};
+
 static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
 					  void *data, void **return_value)
 {
@@ -675,6 +681,10 @@ static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
 	if (acpi_device_enumerated(adev))
 		return AE_OK;
 
+	/* Skip if black listed */
+	if (!acpi_match_device_ids(adev, serdev_blacklist_devices))
+		return AE_OK;
+
 	if (acpi_serdev_check_resources(ctrl, adev))
 		return AE_OK;
 
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-12-19  8:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-18  6:56 [PATCH] serdev: Don't claim unsupported serial devices Punit Agrawal
2019-12-18  8:10 ` Greg Kroah-Hartman
2019-12-18  8:22   ` Punit Agrawal
2019-12-18  8:56 ` Johan Hovold
2019-12-18  9:09   ` Punit Agrawal
2019-12-19  8:39   ` Rafael J. Wysocki
2019-12-19  8:51     ` Johan Hovold
2019-12-19  8:58       ` Punit Agrawal
2019-12-18 10:05 ` Hans de Goede
2019-12-19  0:37   ` Punit Agrawal
2019-12-19  8:30     ` Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).