Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
f76051c7 |
| 25-Aug-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Add implicit mode for touch tracking.
In implicit mode assignment of slot number and tracking id is performed automatically on each synchronization requested by device driver.
This is done w
evdev: Add implicit mode for touch tracking.
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
show more ...
|
#
66bd52f5 |
| 25-Aug-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Make MT tracking IDs monotonically increasing sequence.
MFC after: 2 weeks
|
#
98a7606b |
| 25-Aug-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Multitouch code style changes.
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 i
evdev: Multitouch code style changes.
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
show more ...
|
#
5f99ae56 |
| 16-Aug-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Use bit_foreach helper macro
for traversing all bits set in the bitstring(9).
While here move bit_change() definition to common header.
MFC after: 1 week
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
3b8c8b35 |
| 22-Apr-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Allow open() handler to be interrupted by a signal
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 t
evdev: Allow open() handler to be interrupted by a signal
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)
show more ...
|
#
d276eae6 |
| 21-Apr-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Make open(2) and close(3) handlers sleepable.
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
evdev: Make open(2) and close(3) handlers sleepable.
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
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
e2e050c8 |
| 20-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.h
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.
show more ...
|
#
18b18078 |
| 25-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344527
|
#
a8fe8db4 |
| 25-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344178 through r344512.
|
#
f99e7b1a |
| 24-Feb-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: export event device properties through sysctl interface
A big security advantage of Wayland is not allowing applications to read input devices all the time. Having /dev/input/* accessible to
evdev: export event device properties through sysctl interface
A big security advantage of Wayland is not allowing applications to read input devices all the time. Having /dev/input/* accessible to the user account subverts this advantage.
libudev-devd was opening the evdev devices to detect their types (mouse, keyboard, touchpad, etc). This don't work if /dev/input/* is inaccessible. With the kernel exposing this information as sysctls (kern.evdev.input.*), we can work w/o /dev/input/* access, preserving the Wayland security model.
Submitted by: Greg V <greg@unrelenting.technology> Reviewed by: wulf, imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D18694
show more ...
|
Revision tags: release/12.0.0 |
|
#
2a22df74 |
| 04-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339813 through r340125.
|
#
5ef24889 |
| 27-Oct-2018 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: disable evdev if it is invoked from KDB or panic context
This allow to prevent deadlock on entering KDB if one of evdev locks is already taken by userspace process.
Also this change discards
evdev: disable evdev if it is invoked from KDB or panic context
This allow to prevent deadlock on entering KDB if one of evdev locks is already taken by userspace process.
Also this change discards all but LED console events produced by KDB as unrelated to userspace.
Tested by: dumbbell (as part of D15070) Objected by: bde (as 'KDB lock an already locked mutex' problem solution) MFC after: 1 month
show more ...
|
#
f86e7267 |
| 27-Oct-2018 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Use console lock as evdev lock for all supported keyboard drivers.
Now evdev part of keyboard drivers does not take any locks if corresponding input/eventN device node is not opened by userla
evdev: Use console lock as evdev lock for all supported keyboard drivers.
Now evdev part of keyboard drivers does not take any locks if corresponding input/eventN device node is not opened by userland consumers.
Do not assert console lock inside evdev to handle the cases when keyboard driver is called from some special single-threaded context like shutdown thread.
show more ...
|
Revision tags: release/11.2.0, release/10.4.0 |
|
#
0275f9db |
| 11-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r321383 through r322397.
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
e6502802 |
| 23-Jul-2017 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Change my email address to wulf@FreeBSD.org in copyright headers.
Approved by: gonzo (mentor) MFC after: 2 weeks
|
#
4c0a4665 |
| 23-Jul-2017 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Macroize common locking sequences
Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks
|
#
ea2e26b1 |
| 23-Jul-2017 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: style(9), sort headers alphabetically
Pointed out by: bde Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks
|
Revision tags: release/11.1.0 |
|
#
242b2482 |
| 09-Oct-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r306412 through r306905.
|
#
c736a757 |
| 08-Oct-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)
Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots that has not been listed in current MT protocol type B report.
Slot is co
Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)
Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots that has not been listed in current MT protocol type B report.
Slot is counted as listed if corresponding ABS_MT_SLOT event has been sent regardless of other MT events.
Events are sent on SYN_REPORT event.
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
show more ...
|
#
bfbd1bb7 |
| 08-Oct-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Allow using of driver's mutex instead internal one for evdev locking.
Add new API call: evdev_register_mtx which takes lock argument that should be used instead of internal one for evdev locking. Us
Allow using of driver's mutex instead internal one for evdev locking.
Add new API call: evdev_register_mtx which takes lock argument that should be used instead of internal one for evdev locking. Useful for cases if evdev_push_event() is always called with driver's lock taken and reduces amount of lock aquisitions. This allows to avoid LOR between ev_open/ev_close invocations and evdev_push_event() Such LOR can happen when ev_open/ev_close methods acquire driver lock and evdev_push_event() is called with this lock taken.
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
show more ...
|
#
5163e77f |
| 03-Oct-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
const-ify struct evdev_methods
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Suggested by: hselasky
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
93badfa1 |
| 16-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305687 through r305890.
|