Re: [PATCH] serdev: Don't claim unsupported serial devices

From: Punit Agrawal
Date: Wed Dec 18 2019 - 04:09:19 EST


Hi Johan,

Johan Hovold <johan@xxxxxxxxxx> writes:

> On Wed, Dec 18, 2019 at 03:56:46PM +0900, Punit Agrawal wrote:
>> 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@xxxxxxxxxxxxxxx
>> Signed-off-by: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx>
>> Cc: Rob Herring <robh@xxxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: Johan Hovold <johan@xxxxxxxxxx>
>> Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
>> ---
>>
>> Hi,
>>
>> The patch has been updated based on feedback recieved on the RFC[0].
>>
>> Please consider merging if there are no objections.
>
> Rafael, I vaguely remember you arguing for a white list when we
> discussed this at some conference. Do you have any objections to the
> blacklist approach taken here?
>
>> [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},
>
> Nit: Would you mind adding a space after { and before }?

Sure - no problem. I'll include it in the next posting.

Thanks for having a look.

>
>> + { },
>> +};
>
> Johan