Skip to content

Commit c5ee0b3

Browse files
punitagrawalgregkh
authored andcommitted
serdev: Don't claim unsupported ACPI serial devices
Serdev sub-system claims all ACPI serial devices that are not already initialised. As a result, no device node is created for serial ports 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 ACPI serial devices that should not be claimed by serdev sub-system. Add the peripheral ids for Intel HS UART to the blacklist to bring back serial port on SoCs carrying them. Cc: [email protected] Signed-off-by: Punit Agrawal <[email protected]> Acked-by: Hans de Goede <[email protected]> Acked-by: Johan Hovold <[email protected]> Cc: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 273f632 commit c5ee0b3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

drivers/tty/serdev/core.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,12 @@ static acpi_status acpi_serdev_register_device(struct serdev_controller *ctrl,
663663
return AE_OK;
664664
}
665665

666+
static const struct acpi_device_id serdev_acpi_devices_blacklist[] = {
667+
{ "INT3511", 0 },
668+
{ "INT3512", 0 },
669+
{ },
670+
};
671+
666672
static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
667673
void *data, void **return_value)
668674
{
@@ -675,6 +681,10 @@ static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
675681
if (acpi_device_enumerated(adev))
676682
return AE_OK;
677683

684+
/* Skip if black listed */
685+
if (!acpi_match_device_ids(adev, serdev_acpi_devices_blacklist))
686+
return AE_OK;
687+
678688
if (acpi_serdev_check_resources(ctrl, adev))
679689
return AE_OK;
680690

0 commit comments

Comments
 (0)