#
ef9ffb85 |
| 25-Nov-2024 |
Mark Johnston <markj@FreeBSD.org> |
kern: Make fileops and filterops tables const where possible
No functional change intended.
MFC after: 1 week
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0, 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 |
|
#
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 ...
|
Revision tags: release/13.0.0 |
|
#
7a810290 |
| 20-Jan-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Make variable-size ioctls return actual length of copyouted data
on success instead of 0 to match Linux. Imprivata binary depends on this.
Submitted by: Shunchao Hu <ankohuu_outlook.com> Rev
evdev: Make variable-size ioctls return actual length of copyouted data
on success instead of 0 to match Linux. Imprivata binary depends on this.
Submitted by: Shunchao Hu <ankohuu_outlook.com> Reviewed by: wulf Differential revision: https://reviews.freebsd.org/D28218
show more ...
|
#
b360682a |
| 14-Jan-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Add missing input enter/exit epoch pairs.
This was affecting unloading keyboard driver and kdb-related code.
|
Revision tags: 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 ...
|
#
006eb449 |
| 30-Mar-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: return error rather than zero-length data on blocked read()
if blocked process has been woken up by evdev device destruction.
MFC after: 2 weeks
|
#
80ddbddf |
| 30-Mar-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: Add COMPAT_FREEBSD32 support for amd64 arch
Incompatibility between i386 and amd64 evdev ABIs was caused by presence of 'struct timeval' in evdev protocol. Replace it with 'struct timeval32'
evdev: Add COMPAT_FREEBSD32 support for amd64 arch
Incompatibility between i386 and amd64 evdev ABIs was caused by presence of 'struct timeval' in evdev protocol. Replace it with 'struct timeval32' for 32 bit binaries.
Big-endian platforms may require additional work due to bitstr_t (array of unsigned longs) usage in ioctl interface.
MFC after: 2 weeks
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, 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 ...
|
#
3611ec60 |
| 18-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r337646 through r338014.
|
#
911aed94 |
| 13-Aug-2018 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
evdev: remove soft context from evdev methods parameter list.
Now softc should be retrieved from struct edvev * pointer with evdev_get_softc() helper.
wmt(4) is a sample of driver that support both
evdev: remove soft context from evdev methods parameter list.
Now softc should be retrieved from struct edvev * pointer with evdev_get_softc() helper.
wmt(4) is a sample of driver that support both KPI.
Reviewed by: hselasky, gonzo Differential Revision: https://reviews.freebsd.org/D16614
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
|
#
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 |
|
#
6bc7e1b2 |
| 12-Mar-2017 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[evdev] Fix race condition between client's event queue reading and dropping
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> MFC after: 1 week Differential Revision: https://reviews.freebsd.org
[evdev] Fix race condition between client's event queue reading and dropping
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9320
show more ...
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
93badfa1 |
| 16-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305687 through r305890.
|
#
e0cfa1bc |
| 12-Sep-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Remove semicolon from the end of the macro definition
Reported by: hans
|
#
2b3f6d66 |
| 11-Sep-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add evdev protocol implementation
evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in
Add evdev protocol implementation
evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in Xorg, Wayland, Qt.
This commit has only generic kernel API. evdev support for individual hardware drivers like ukbd, ums, atkbd, etc. will be committed later.
Project was started by Jakub Klama as part of GSoC 2014. Jakub's evdev implementation was later used as a base, updated and finished by Vladimir Kondratiev.
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998
show more ...
|