summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2020-10-26 20:53:57 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-12-02 08:29:27 +0100
commitb550fecd4f1afe9b811cc4d42e465c4df36d629b (patch)
tree9c120464825b0da2150d4ef7e5922daecdf64703 /arch/x86
parentcb950f6cb9ee71827488dd85698496c02202f826 (diff)
downloadlinux-stable-b550fecd4f1afe9b811cc4d42e465c4df36d629b.tar.gz
linux-stable-b550fecd4f1afe9b811cc4d42e465c4df36d629b.tar.bz2
linux-stable-b550fecd4f1afe9b811cc4d42e465c4df36d629b.zip
Input: i8042 - allow insmod to succeed on devices without an i8042 controller
[ Upstream commit b1884583fcd17d6a1b1bba94bbb5826e6b5c6e17 ] The i8042 module exports several symbols which may be used by other modules. Before this commit it would refuse to load (when built as a module itself) on systems without an i8042 controller. This is a problem specifically for the asus-nb-wmi module. Many Asus laptops support the Asus WMI interface. Some of them have an i8042 controller and need to use i8042_install_filter() to filter some kbd events. Other models do not have an i8042 controller (e.g. they use an USB attached kbd). Before this commit the asus-nb-wmi driver could not be loaded on Asus models without an i8042 controller, when the i8042 code was built as a module (as Arch Linux does) because the module_init function of the i8042 module would fail with -ENODEV and thus the i8042_install_filter symbol could not be loaded. This commit fixes this by exiting from module_init with a return code of 0 if no controller is found. It also adds a i8042_present bool to make the module_exit function a no-op in this case and also adds a check for i8042_present to the exported i8042_command function. The latter i8042_present check should not really be necessary because when builtin that function can already be used on systems without an i8042 controller, but better safe then sorry. Reported-and-tested-by: Marius Iacob <themariusus@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20201008112628.3979-2-hdegoede@redhat.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/x86')
0 files changed, 0 insertions, 0 deletions