Enable support of i2c-based touchscreens for x86 and aarch64#4463
Enable support of i2c-based touchscreens for x86 and aarch64#4463sairon merged 3 commits intohome-assistant:devfrom
Conversation
Needed to support i2c-based touchscreens on x86 boards
Needed to support i2c touchscreens on arm64 devices
📝 WalkthroughWalkthroughAdds two kernel configuration symbols enabling I2C HID support as loadable modules: Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to data retention organization setting
📒 Files selected for processing (2)
buildroot-external/board/arm-uefi/generic-aarch64/kernel.configbuildroot-external/board/pc/generic-x86-64/kernel.config
🔇 Additional comments (1)
buildroot-external/board/arm-uefi/generic-aarch64/kernel.config (1)
74-74: LGTM!The addition of CONFIG_I2C_HID_OF=m is correct for enabling I2C HID touchscreen support on device-tree (Open Firmware) based ARM systems. This complements the existing CONFIG_I2C_CADENCE option and will enable the i2c-hid-of module for touchscreen functionality.
sairon
left a comment
There was a problem hiding this comment.
Looks good. I just updated the PR title a bit to highlight the difference between the older PR.
* Enable CONFIG_I2C_ACPI in kernel configuration for generic-x86-64 Needed to support i2c-based touchscreens on x86 boards * Enable I2C HID support in kernel configuration for generic aarch64 Needed to support i2c touchscreens on arm64 devices (cherry picked from commit 4c8582b)
This kernel option is needed to support i2c-based touchscreens in HAOS, such as many integrated touchscreens (note external USB-based touchscreens don't require this)
All that is required is adding the line:
CONFIG_I2C_HID_ACPI=mfor x86 platforms andCONFIG_I2C_HID_OF=mfor arm64 platforms (adding only 20-40kB to codebase).In particular, this is necessary for the addon that I published https://github.com/puterboy/HAOS-kiosk that allows users to connect up any display directly to their HAOS server and display HA dashboards directly without having to have use a browser on another device.
This addon has become increasingly popular as it saves the cost, space and perhaps most importantly energy consumption of adding a dedicated PC/Android/RPi just to access HA and display your core dashboards. Plus it seems only natural for a home user to associate a display directly with the device rather than having to use a separate physical client (pc + screen running a browser) and server (pc running HAOS) setup.
I have spent a lot of time developing this add-on to seamlessly support a broad range of input and output devices, including touchscreens. And I have gotten several bug reports because it fails to work on integrated i2c-based touchscreens.
I want to thank you for your previous support of my project where you enabled
CONFIG_HID_MULTITOUCH=mto support multi-touch. (See: #4298 ). SINCEREST OF THANKS!!!Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.