A couple of kernel configuration files adding support for touchscreens
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 18900 Build 18554: arc lint + arc unit
Event Timeline
wmt can be loaded by demand, but it must be during loader(8).
Although, the evdev support is needed on the kernel. The kernel files could also be named as EVDEV because it also could allow people to extend them for all kind of evdev devices.
I'm just wondering if the name TOUCHSCREEN is too generic.
Have you considered names like GENERIC-EVDEV , like there is GENERIC-NODEBUG ?
--HPS
Actually, after talking with @zeising that's a good possibility, but only after I figure out why my touchscreen is not working any longer (so far, r333666 worked)
I'm not sure that the actual devices need to go into generic, perhaps they can be loaded by devmatch or similar. I haven't looked into this though.
Well, the evdev device option is needed to compile the EVDEV_SUPPORT option and if wmt is not loaded at boot time, the touchscreen is recognized as HID
I think the reason HID picks up the device first will be solved by:
https://reviews.freebsd.org/D16735
So basically we only need device evdev and optinos EVDEV_SUPPORT in GENERIC?
--HPS
options EVDEV_SUPPORT is irrelevant to wmt. It enables evdev in hybrid (both legacy+evdev inrerfaces) device drivers. wmt is not one of those.
device evdev is not strictly necessary for wmt too if it is not compiled into kernel statically. evdev.ko can be kld-loaded on demand at run-time
Currently wmt is not picked by devmatch because of 2 reasons:
- PNP record is not committed yet.
- Even when PNP record is included it loses loading race with uhid.ko
So, to make wmt a winner I inserted kldload directly into devd.conf in my setup:
# Generic MS-touch compatible devices notify 100 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "intclass" "0x03"; match "intsubclass" "0x00"; match "intprotocol" "0x00"; action "kldload -n wmt"; };
Hi!
Is it possible to split this revision into two parts? I'd like to see the EVDEV support go in, especially the option, since that can't be done runtime. The wmt device can be loaded at runtime and doesn't need to be in the kernel, I believe.
wmt(4) loading can be handled at runtime with GENERIC kernel. See: https://reviews.freebsd.org/D17689
Have you made any progress on updating the diff?
Let me know if I can help in any way.
Regards
Sorry Niclas, I am overwhelmed at work and privately. The worst thing is that I have the means to test it because my laptop has a touchscreen and I can test if something is broken. I'll keep you updated, but it should only be necessary to delete the last 3 lines
The evdev part of this was just committed. I believe this review can be abandoned, as wmt can be loaded on demand.
Being that the case, yes. We can abandon this review. Is there a possibility to close it or something similar?