History log of /freebsd-11-stable/sys/dev/evdev/cdev.c
Revision Date Author Comments
# 359907 13-Apr-2020 wulf

MFC r359428:
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 r359429:
evdev: return error rather than zero-length data on blocked read()
if blocked process has been woken up by evdev device destruction.


# 324768 19-Oct-2017 wulf

MFC r321397-r321399

r321397:
evdev: style(9), sort headers alphabetically

r321398:
evdev: Macroize common locking sequences

r321399:
Change my email address to wulf@FreeBSD.org in copyright headers.

Approved by: gonzo (mentor)


# 317989 08-May-2017 gonzo

MFC r315176-r315178

r315176:
[evdev] Do not ignore result evdev_register in UI_DEV_CREATE handler

Make sure that uinput state field reflects actual state by checking
evdev_register result for errors

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Differential Revision: https://reviews.freebsd.org/D9320

r315177:
[evdev] Fix race condition between client's event queue reading and dropping

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Differential Revision: https://reviews.freebsd.org/D9320

r315178:
[evdev] Fix Right Alt and Keypad Enter event codes for atkbd(4) and kbdmux(4) drivers

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Differential Revision: https://reviews.freebsd.org/D9320


# 307760 21-Oct-2016 gonzo

MFC r305706, r305749, r306274

r305706:
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

r305749:
Remove semicolon from the end of the macro definition

Reported by: hans

r306274:
Handle NULL argument in evdev_free

Add check for evdev argument of evdev_free being NULL. This is valid
value and should not cause crash. In this case evdev_free does nothing

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>