I think I understand what you mean, basically use your Github for this, standalone_i2c_hid, but copy the i2c drivers from the cloned Manjaro kernel 5.9.16-1 ../src/linux-5.9/drivers/hid/i2c-hid/ directory into the ../i2c-hid_standalone/ directory in your project (replacing all 3 source files without the Makefile), then compile it and replace the according module in my running system.
Just as a reference, directly dropping in /lib/modules/5.9.16-1-MANJARO/kernel/drivers/hid/i2c-hid/i2c-hid.ko.xz into the respective 5.11.6-1-MANJARO ../i2c-hid/ directory, then running "mkinitcpio -P linux511" (to use the new module.. if this is how to do it?) does not work, in case anyone was wondering. Touchpad immediately froze on bootup.
******************************
I was able to compile the Manjaro 5.9.16-1 source files into a module (on 5.11.6-1 using linux511-headers) using your provided Makefile and followed the instructions to copy the compiled module into the 5.11.6-1-MANJARO ../i2c-hid/ directory. Also added the GRUB options and ran "sudo update-grub". It functioned, but did not fix the issue. Froze after 2 reboots.
I also tried compiling the Github project as it is, using the provided source files (on 5.11.6-1 using linux511-headers) and it spit out:
ERROR: modpost "irq_to_desc" (in ../i2c-hid-standalone/i2c-hid.ko) undefined !
../i2c-hid-standalone/Module.symvers Error 1
Also I wanted to point out in your README the instruction to append "i2c_hid.polling_mode=1" to GRUB_CMDLINE_LINUX. Shouldn't this be appended to GRUB_CMDLINE_LINUX_DEFAULT? I don't really know, I've just never seen the non-_DEFAULT line used before. In either case, produces same results.
Thanks for all your help, it was worth a shot. Maybe your code needs to be updated for recent kernels?
I am still trying to play with the idea of focusing on the pinctrl-amd.c driver, but really need some help with what to do with that driver. I am not sure the culprit is the i2c_hid driver, but rather this driver. Maybe I'm wrong, but it certainly is the next place to look...
Hey there @Coiby Xu thank you,
I think I understand what you mean, basically use your Github for this, standalone_i2c_hid, but copy the i2c drivers from the cloned Manjaro kernel 5.9.16-1 ../src/ linux-5. 9/drivers/ hid/i2c- hid/ directory into the ../i2c- hid_standalone/ directory in your project (replacing all 3 source files without the Makefile), then compile it and replace the according module in my running system.
Just as a reference, directly dropping in /lib/modules/ 5.9.16- 1-MANJARO/ kernel/ drivers/ hid/i2c- hid/i2c- hid.ko. xz into the respective 5.11.6-1-MANJARO ../i2c-hid/ directory, then running "mkinitcpio -P linux511" (to use the new module.. if this is how to do it?) does not work, in case anyone was wondering. Touchpad immediately froze on bootup.
******* ******* ******* ******* **
I was able to compile the Manjaro 5.9.16-1 source files into a module (on 5.11.6-1 using linux511-headers) using your provided Makefile and followed the instructions to copy the compiled module into the 5.11.6-1-MANJARO ../i2c-hid/ directory. Also added the GRUB options and ran "sudo update-grub". It functioned, but did not fix the issue. Froze after 2 reboots.
I also tried compiling the Github project as it is, using the provided source files (on 5.11.6-1 using linux511-headers) and it spit out: hid-standalone/ i2c-hid. ko) undefined ! hid-standalone/ Module. symvers Error 1
ERROR: modpost "irq_to_desc" (in ../i2c-
../i2c-
Also I wanted to point out in your README the instruction to append "i2c_hid. polling_ mode=1" to GRUB_CMDLINE_LINUX. Shouldn't this be appended to GRUB_CMDLINE_ LINUX_DEFAULT? I don't really know, I've just never seen the non-_DEFAULT line used before. In either case, produces same results.
Thanks for all your help, it was worth a shot. Maybe your code needs to be updated for recent kernels?
I am still trying to play with the idea of focusing on the pinctrl-amd.c driver, but really need some help with what to do with that driver. I am not sure the culprit is the i2c_hid driver, but rather this driver. Maybe I'm wrong, but it certainly is the next place to look...
Fun things to try!