Issue: The current clevo-xsm-wmi-dkms module fails to compile on newer kernels due to a function pointer type mismatch in the .remove callback. Additionally, there are warnings about macro usage that could affect portability.
Proposed Fix:
Change the return type of clevo_xsm_wmi_remove from int to void to match the expected signature. Update macro usage (#if CLEVO_HAS_HWMON) to a more portable form (#ifdef CLEVO_HAS_HWMON). Resources:
You can find the patch and a script to automate these changes below: Patch and Script on Pastebin. Applying this patch ensures compatibility with recent kernels and resolves the mentioned warnings. Thank you for considering this update.
Patch: https://pastebin.com/F5xPPGA9 Script to automate installation for users to use temporarily until repo updated: https://pastebin.com/6rRKXfhX
Pinned Comments
mrozanc commented on 2019-04-04 18:53 (UTC) (edited on 2019-04-04 18:53 (UTC) by mrozanc)
Sorry for the late reply mjtarch, I have a lot to do these times and I don't use my clevo laptop much.
The upstream project is abandonned as stated on the bitbucket page (https://bitbucket.org/tuxedocomputers/clevo-xsm-wmi -> https://bitbucket.org/tuxedocomputers/clevo-xsm-wmi/issues/44/the-status-and-the-future-of-tuxedo-clevo -> https://github.com/tuxedocomputers/tuxedo-keyboard).
If the replacement project don't support your hardware, you can still create a patch file for clevo-xsm-wmi.c using the diff command or git, then apply your patch as I did for P950ER in your modified PKGBUILD. Then you build the package using makepkg and install it with pacman -U.
I didn't have any feedbacks from users of the new modules, maybe is there no reason to continue this PKGBUILD?