Date: Sun, 14 Jun 2026 16:35:02 +0000 From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Quent=?utf-8?Q?in Th=C3=A9?=bault <quentin.thebault@defenso.fr> Subject: git: 746c374aa94b - main - evdev: add devnum sysctl Message-ID: <6a2ed836.44ca3.743a879c@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=746c374aa94b46712e6defb3ab56dd2d6ad8db64 commit 746c374aa94b46712e6defb3ab56dd2d6ad8db64 Author: Quentin Thébault <quentin.thebault@defenso.fr> AuthorDate: 2026-06-14 16:34:51 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2026-06-14 16:34:51 +0000 evdev: add devnum sysctl 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 <quentin.thebault@defenso.fr> Reviewed by: wulf Sponsored by: Defenso MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56968 --- sys/dev/evdev/evdev.c | 6 ++++++ sys/dev/evdev/evdev_private.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/dev/evdev/evdev.c b/sys/dev/evdev/evdev.c index 4dcd6f23d338..b8628d570a3c 100644 --- a/sys/dev/evdev/evdev.c +++ b/sys/dev/evdev/evdev.c @@ -283,6 +283,11 @@ evdev_sysctl_create(struct evdev_dev *evdev) SYSCTL_CHILDREN(ev_sysctl_tree), OID_AUTO, "sw_bits", CTLFLAG_RD, evdev->ev_sw_flags, sizeof(evdev->ev_sw_flags), "", "Input device supported switch events"); + + SYSCTL_ADD_U64(&evdev->ev_sysctl_ctx, + SYSCTL_CHILDREN(ev_sysctl_tree), OID_AUTO, "devnum", CTLFLAG_RD, + &evdev->ev_devnum, 0, + "Input device number"); } static int @@ -328,6 +333,7 @@ evdev_register_common(struct evdev_dev *evdev) ret = evdev_cdev_create(evdev); if (ret != 0) goto bail_out; + evdev->ev_devnum = dev2udev(evdev->ev_cdev); /* Create sysctls (for device enumeration without /dev/input access rights) */ evdev_sysctl_create(evdev); diff --git a/sys/dev/evdev/evdev_private.h b/sys/dev/evdev/evdev_private.h index 4c371e538598..65da48745dc9 100644 --- a/sys/dev/evdev/evdev_private.h +++ b/sys/dev/evdev/evdev_private.h @@ -114,6 +114,7 @@ struct evdev_dev uid_t ev_cdev_uid; gid_t ev_cdev_gid; int ev_cdev_mode; + dev_t ev_devnum; int ev_unit; enum evdev_lock_type ev_lock_type; struct mtx * ev_state_lock; /* State lock */home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a2ed836.44ca3.743a879c>
