-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Load soc_button_array module on Surface #23
base: arcadia-x86
Are you sure you want to change the base?
Conversation
On Microsoft Surface devices, the power and volume buttons are handled by soc_button_array. The commit enables this functionality in Android by loading the soc_button_array kernel module on startup.
oh so it didn't load automatically huh |
Do you want we instead put |
Sure, that will work!! |
On standard Linux distributions (still learning how Android does things) soc_button_array indeed should autoload if build as a module. It binds to the platform_device the ACPI subsystem creates for it based on the following acpi_device_id-s: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/misc/soc_button_array.c#n598 And there is a So e.g. doing a cat on a modalias file for an involved platform_device will show:
and then udev will run
So modprobe will then load soc_button_array. I have no idea if Android even has modprobe, I think it typically has init scripts which hardcode a bunch of insmod commands instead? And if Android does have modprobe I don't know if something is running "modprobe " for all devices with a uevent sysfs attribute like udev does (I believe that Android has its own udev equivalent, right?) . |
Note if you want to give the above comments a try on Surface devices the soc_button_array driver uses MSHW0028 or MSHW0040 as ACPI Hardware ID (aka HID). |
We do have modprobe And we use |
On Microsoft Surface devices, the power and volume buttons are handled by soc_button_array. The commit enables this functionality in Android by loading the soc_button_array kernel module on startup.
(This is my first commit to Bliss btw, lmk if there's a different place I should push this)