Re: [PATCH v2 2/2] Input: i8042: Add a quirk for Framework 16" laptop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 08 Dec, 2023 17:57:05 +0000 Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
> On Wed, Dec 06, 2023 at 03:21:40PM -0600, Mario Limonciello wrote:
>> The Framework 16" laptop doesn't have a PS/2 keyboard. At bootup the
>> following messages are emitted:
>> 
>> i8042: PNP: No PS/2 controller found.
>> i8042: PNP: Probing ports directly.
>> i8042: Can't read CTR while initializing i8042
>> i8042: probe of i8042 failed with error -5
>> 
>> There are no PNP devices as those listed in `pnp_kbd_devids` but
>> i8042_pnp_init() ignores this and still runs and will continue to
>> try to probe.
>> 
>> As there is no PS/2 keyboard or mouse in this laptop, set a quirk
>> to avoid this behavior.
>
> I believe the proper fix for this is for the firmware not report i8042
> as present by properly setting up FADT. Please take a look at
> arch/x86/kernel/acpi/boot.c::acpi_parse_fadt() and how it sets flag
> X86_LEGACY_I8042_FIRMWARE_ABSENT.

This is along the lines of a point I brought up in the v1 of this patch.

  https://lore.kernel.org/linux-input/87v89bgl7a.fsf@xxxxxxxxxx/

This means that Framework as a manufacturer will need to provide the
appropriate fix for what's advertised over ACPI by the device. I think
that makes sense instead of creating quirk combinations to avoid
resolving the issue at the ACPI level. I guess the only de-merit is that
means folks need to depend on vendors with no way to suppress this if a
vendor does not correct set up FADT.

>
> It will still say "PNP: No PS/2 controller found" which is an
> "informational" message, but should not try to probe ports directly and
> report errors.

--
Thanks,

Rahul Rameshbabu




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux