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

From: Punit Agrawal
Date: Wed Dec 18 2019 - 03:21:46 EST


Hi Greg,

Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> 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.
>
> All ACPI serial devices, right? Surely not all other types of serial
> devices in the system.

That's right - I'll tighten the wording in the commit log and the patch
below to be ACPI specific.

>
> And what do you mean by "not already enumerated"?

This is referring to check using "acpi_device_enumerated()" when walking
ACPI devices. But the intention was to convey uninitialised serial
devices exposed via ACPI.

I'll update this as well.

Thanks for the review.

Punit

>
>> 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
>
> "reject ACPI serial devices"
>
>> 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.
>>
>> 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[] = {
>
> s/serdev_blacklist_devices/serdev_blacklist/acpi_devices/ ?
>
> This is an acpi-specific thing, not a generic tty thing.
>
> thanks,
>
> greg k-h