Re: [PATCH resend] Input: i8042 - Allow insmod to succeed on devices without an i8042 controller

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

 



On Thu, Oct 08, 2020 at 01:26:28PM +0200, Hans de Goede wrote:
> 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@xxxxxxxxx>
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Applied, thank you.

-- 
Dmitry



[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