<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/evdev/evdev_private.h, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>http://cgit.freebsd.org/src/atom?h=main</id>
<link rel='self' href='http://cgit.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<updated>2026-06-14T16:34:51Z</updated>
<entry>
<title>evdev: add devnum sysctl</title>
<updated>2026-06-14T16:34:51Z</updated>
<author>
<name>Quentin Thébault</name>
<email>quentin.thebault@defenso.fr</email>
</author>
<published>2026-06-14T16:34:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=746c374aa94b46712e6defb3ab56dd2d6ad8db64'/>
<id>urn:sha1:746c374aa94b46712e6defb3ab56dd2d6ad8db64</id>
<content type='text'>
Add a sysctl entry for the evdev device number (devnum) to allow
libudev-devd to populate the corresponding device information
fields (MAJOR and MINOR) when running in a jail with no input devices
exposed through devfs.

Signed-off-by: Quentin Thébault &lt;quentin.thebault@defenso.fr&gt;

Reviewed by:	wulf
Sponsored by:	Defenso
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D56968
</content>
</entry>
<entry>
<title>evdev: Allow setting of character device ownership and access mode</title>
<updated>2025-12-01T20:42:14Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2025-12-01T20:42:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ecccc9d99901dd874e8d122853026d7c28fa4fcf'/>
<id>urn:sha1:ecccc9d99901dd874e8d122853026d7c28fa4fcf</id>
<content type='text'>
by device driver. That is required as game pad and joystick events have
to be accessible by ordinary users.

MFC after:	1 month
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>urn:sha1:95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>evdev: Add implicit mode for touch tracking.</title>
<updated>2021-08-24T22:52:37Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2021-08-24T22:52:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f76051c7dabe952b75127a8031d87d78b603be20'/>
<id>urn:sha1:f76051c7dabe952b75127a8031d87d78b603be20</id>
<content type='text'>
In implicit mode assignment of slot number and tracking id is performed
automatically on each synchronization requested by device driver.

This is done with creation of intermediate buffer for multitouch events.
This buffer holds untracked events until synchronization is requested by
device driver. It is needed as touch assigment requires
knowledges of all touch positions pushed in current and previous reports.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>evdev: Make MT tracking IDs monotonically increasing sequence.</title>
<updated>2021-08-24T22:48:33Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2021-08-24T22:48:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=66bd52f5e241bd2548015f847f12cdff69176c40'/>
<id>urn:sha1:66bd52f5e241bd2548015f847f12cdff69176c40</id>
<content type='text'>
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>evdev: Multitouch code style changes.</title>
<updated>2021-08-24T22:43:41Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2021-08-24T22:43:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=98a7606b85e05132f328a2498dccab78df31cb7e'/>
<id>urn:sha1:98a7606b85e05132f328a2498dccab78df31cb7e</id>
<content type='text'>
1. Move touch count reporting helpers to utils. They are not multitouch.
2. Use evdev_mt prefix for private multitouch support routines.
3. Use int instead of int32_t where fixed size is not required.
4. Export some internal functions.

This change should be no-op.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>evdev: Use bit_foreach helper macro</title>
<updated>2021-08-16T21:29:47Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2021-08-16T21:28:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5f99ae56c9196753ae162ad464c2969ad1a131b6'/>
<id>urn:sha1:5f99ae56c9196753ae162ad464c2969ad1a131b6</id>
<content type='text'>
for traversing all bits set in the bitstring(9).

While here move bit_change() definition to common header.

MFC after:	1 week
</content>
</entry>
<entry>
<title>evdev: Allow open() handler to be interrupted by a signal</title>
<updated>2021-01-07T23:18:42Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-04-21T22:38:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3b8c8b35de3a1a8a24169d144189b6a4db82ce10'/>
<id>urn:sha1:3b8c8b35de3a1a8a24169d144189b6a4db82ce10</id>
<content type='text'>
It is possible that the client list lock is taken by other process for too
long due to e.g. IO timeouts. Allow user to terminate open() in this case.

Reviewed by:	markj (as part of D27865)
</content>
</entry>
<entry>
<title>evdev: Make open(2) and close(3) handlers sleepable.</title>
<updated>2021-01-07T23:18:41Z</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-04-21T10:26:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d276eae674d22214d6a58d1f4871053ceb0cb9f5'/>
<id>urn:sha1:d276eae674d22214d6a58d1f4871053ceb0cb9f5</id>
<content type='text'>
At the beginning of evdev there was a LOR between hardware driver's and
evdev client list locks as they were taken in different order at
driver's interrupt and evdev open()/close() handlers.

The LOR was fixed with introduction of evdev_register_mtx() function
which allowed to use a hardware driver's lock as evdev client list lock.
While this works good with PS/2 and USB, this does not work with I2C.
Unlike PS/2 and USB, I2C open()/close() handlers do unbound sleeps
while waiting for I2C bus to release and while performing IO.
This change uses epoch(9) for traversing evdev client list in interrupt
handler to avoid the LOR thus making possible to convert evdev client
list lock to sleepable sx.

While here add brief locking protocol description.

Reviewed by:	markj
Differential revision:	https://reviews.freebsd.org/D27865
</content>
</entry>
<entry>
<title>Extract eventfilter declarations to sys/_eventfilter.h</title>
<updated>2019-05-20T00:38:23Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2019-05-20T00:38:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e2e050c8ef733138fc6a9e514e4b856fefbc3ff1'/>
<id>urn:sha1:e2e050c8ef733138fc6a9e514e4b856fefbc3ff1</id>
<content type='text'>
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"
in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header
pollution substantially.

EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c
files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).

As a side effect of reduced header pollution, many .c files and headers no
longer contain needed definitions.  The remainder of the patch addresses
adding appropriate includes to fix those files.

LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by
sys/mutex.h since r326106 (but silently protected by header pollution prior
to this change).

No functional change (intended).  Of course, any out of tree modules that
relied on header pollution for sys/eventhandler.h, sys/lock.h, or
sys/mutex.h inclusion need to be fixed.  __FreeBSD_version has been bumped.
</content>
</entry>
</feed>
