svn commit: r281744 - user/jceel/soc2014_evdev/head/sys/dev/evdev
Jakub Wojciech Klama
jceel at FreeBSD.org
Sun Apr 19 14:55:23 UTC 2015
Author: jceel
Date: Sun Apr 19 14:55:22 2015
New Revision: 281744
URL: https://svnweb.freebsd.org/changeset/base/281744
Log:
To conform with Linux implementation, return ENOENT from EVIOCGPHYS
and EVIOCGUNIQ ioctl if device is backed by uinput.
Modified:
user/jceel/soc2014_evdev/head/sys/dev/evdev/cdev.c
Modified: user/jceel/soc2014_evdev/head/sys/dev/evdev/cdev.c
==============================================================================
--- user/jceel/soc2014_evdev/head/sys/dev/evdev/cdev.c Sun Apr 19 13:51:25 2015 (r281743)
+++ user/jceel/soc2014_evdev/head/sys/dev/evdev/cdev.c Sun Apr 19 14:55:22 2015 (r281744)
@@ -367,7 +367,7 @@ evdev_ioctl(struct cdev *dev, u_long cmd
case IOCBASECMD(EVIOCGREP):
if (evdev->ev_repeat_mode == NO_REPEAT)
- return ENOTSUP;
+ return (ENOTSUP);
rep_params[0] = evdev->ev_rep[REP_DELAY];
rep_params[1] = evdev->ev_rep[REP_PERIOD];
@@ -376,7 +376,7 @@ evdev_ioctl(struct cdev *dev, u_long cmd
case IOCBASECMD(EVIOCSREP):
if (evdev->ev_repeat_mode == NO_REPEAT)
- return ENOTSUP;
+ return (ENOTSUP);
memcpy(rep_params, data, sizeof(rep_params));
evdev->ev_rep[REP_DELAY] = rep_params[0];
@@ -391,7 +391,7 @@ evdev_ioctl(struct cdev *dev, u_long cmd
case IOCBASECMD(EVIOCGKEYCODE_V2):
if (evdev->ev_methods->ev_get_keycode == NULL)
- return ENOTSUP;
+ return (ENOTSUP);
ke = (struct input_keymap_entry *)data;
evdev->ev_methods->ev_get_keycode(evdev, evdev->ev_softc, ke);
@@ -399,7 +399,7 @@ evdev_ioctl(struct cdev *dev, u_long cmd
case IOCBASECMD(EVIOCSKEYCODE_V2):
if (evdev->ev_methods->ev_set_keycode == NULL)
- return ENOTSUP;
+ return (ENOTSUP);
ke = (struct input_keymap_entry *)data;
evdev->ev_methods->ev_set_keycode(evdev, evdev->ev_softc, ke);
@@ -410,10 +410,16 @@ evdev_ioctl(struct cdev *dev, u_long cmd
break;
case EVIOCGPHYS(0):
+ if (evdev->ev_dev == NULL)
+ return (ENOENT);
+
strlcpy(data, evdev->ev_shortname, len);
break;
case EVIOCGUNIQ(0):
+ if (evdev->ev_dev == NULL)
+ return (ENOENT);
+
strlcpy(data, evdev->ev_serial, len);
break;
More information about the svn-src-user
mailing list