]> git.baikalelectronics.ru Git - kernel.git/commit
Input: i8042 - merge quirk tables
authorWerner Sembach <wse@tuxedocomputers.com>
Thu, 30 Jun 2022 00:38:07 +0000 (17:38 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:50:26 +0000 (12:50 +0100)
commit35748685def016f844ab8fbe63f9eafa02f97aae
treec4de9aede19abe2cb2059297ab6d7fe83cc6e947
parenta414bbe6f9b97b9b88ba8f63c491530afdb0acc9
Input: i8042 - merge quirk tables

[ Upstream commit 85ec1ccb684aba4f33cab612a7c72f3192006b25 ]

Merge i8042 quirk tables to reduce code duplication for devices that need
more than one quirk. Before every quirk had its own table with devices
needing that quirk. If a new quirk needed to be added a new table had to
be created. When a device needed multiple quirks, it appeared in multiple
tables. Now only one table called i8042_dmi_quirk_table exists. In it every
device has one entry and required quirks are coded in the .driver_data
field of the struct dmi_system_id used by this table. Multiple quirks for
one device can be applied by bitwise-or of the new SERIO_QUIRK_* defines.

Also align quirkable options with command line parameters and make vendor
wide quirks per device overwriteable on a per device basis. The first match
is honored while following matches are ignored. So when a vendor wide quirk
is defined in the table, a device can inserted before and therefore
ignoring the vendor wide define.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220629112725.12922-3-wse@tuxedocomputers.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Stable-dep-of: 9c445d2637c9 ("Input: i8042 - add Clevo PCX0DX to i8042 quirk table")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/serio/i8042-x86ia64io.h