From nobody Thu Feb 16 11:55:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PHYLH2T2Mz3q5l2; Thu, 16 Feb 2023 11:55:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PHYLH0Plkz48jD; Thu, 16 Feb 2023 11:55:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676548551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BMWn4kpO+KCAiF/ibGFv8dGZ57SMGnV3JOswQiVVAIU=; b=ZHnxtK5c+O50Zm9pcsIL8tgzG2TrH+qZsH8NeF0iESOR59E/3UJA8eaTOCkW8gfCL7gLnG IsYYvuerbKX3QQ+/7HdQ4APClfT7ZJzkBe1/mZDvPAASu17VMamNd9KE29J2zFMlEqjhXX kj5nW81+Y0U6653OTj72/lL8zkuAN7B+MeKKvU7nwn6n/2aDhJ56pz0dQm/d575mmXbDI5 xK9EAyYtdBFtvUYQhvubMUhtiGbaqI6/7EDyBsTWwFkS++ORAJ2Ji5vzZcO4FjExLC3GwR 1n266LuvXD0HYHqinoz26mIf3DG4VZHIG97xDiSYKNudE+rClx6GS9DDmKHfHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676548551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BMWn4kpO+KCAiF/ibGFv8dGZ57SMGnV3JOswQiVVAIU=; b=obEJvoeuYcfc/tWPFnLLsqVbVHuZ2j590KDPMit6hoDJjphGLwumJk13uy/PiFgn4yz6DO FGGPMR6u2RVtW2HLusG/rsS4BBhpRwTSaMfWHC6Ks+Ffrl89yPnl4k6PIocD+bH21lLYNc jopZbi2Ws9lKNsIvFz5bq4YQVJLGQ9F6obZ6erfUZrBpHgWy425fVTcuz+q90zGZFFgLsv FmxMeuRpiYKoUHA0ZwtQHoRp8RYHZEfHF1w6hMtmG6UBrsBQqrZgloNF+S4QCes0b4tw/I v37+E0IyggejcWYN31sqpdjhQNw3vUOFu0YWs6WsaaogrXVyVKLGPA1ScWx+wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676548551; a=rsa-sha256; cv=none; b=H06nkQJXDptgceZ8L7Wf5YIAzE919xqHTSqM+t9z1R4xv/6z9iJ2McMDk3oN8JbhVqNvd8 0a9N0NKpGnchp33UGwYy0lnrUlk1utD6pRPQM0Q5ZvGZE5K6hgmJncOOYfHX5sLXaXsfsM 6yqKc3kGGULkyRZqvynv5sIigTPHSmiqAIwfo8+nI91YZLKVEnEoL0Fe5utZsh2qRnd0Jd IVt2XZp9btjL6rSluEESyJVhcOTKJhLwkZsbbcenWvhDoH81ox5TOVp+oFTIsh5FsvmToX jZx1McK7ElqYvyERlMUG6dxu3BIjyR5tR8NYn8eMVut+xTT0smoaMDluCSd5DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PHYLG6dWCz12tj; Thu, 16 Feb 2023 11:55:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31GBtowp055183; Thu, 16 Feb 2023 11:55:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31GBtoQY055182; Thu, 16 Feb 2023 11:55:50 GMT (envelope-from git) Date: Thu, 16 Feb 2023 11:55:50 GMT Message-Id: <202302161155.31GBtoQY055182@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: a0bf2c3aab9d - stable/13 - vt(4): Return errors from `vt_{,de}allocate()` List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0bf2c3aab9dded785f2a406744e673a291e26c1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=a0bf2c3aab9dded785f2a406744e673a291e26c1 commit a0bf2c3aab9dded785f2a406744e673a291e26c1 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-14 18:22:56 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-02-16 11:55:13 +0000 vt(4): Return errors from `vt_{,de}allocate()` This is useful to the DRM drivers to let them know if a device is effectively used by the console. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38089 (cherry picked from commit 29ab19455484be96150fa5e87bd38aefb85c888a) --- sys/dev/vt/hw/fb/vt_fb.c | 10 ++++++---- sys/dev/vt/vt.h | 4 ++-- sys/dev/vt/vt_core.c | 16 ++++++++++------ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/sys/dev/vt/hw/fb/vt_fb.c b/sys/dev/vt/hw/fb/vt_fb.c index 2f6c4c3939d5..a84e182ef557 100644 --- a/sys/dev/vt/hw/fb/vt_fb.c +++ b/sys/dev/vt/hw/fb/vt_fb.c @@ -509,19 +509,21 @@ vt_fb_fini(struct vt_device *vd, void *softc) int vt_fb_attach(struct fb_info *info) { + int ret; - vt_allocate(&vt_fb_driver, info); + ret = vt_allocate(&vt_fb_driver, info); - return (0); + return (ret); } int vt_fb_detach(struct fb_info *info) { + int ret; - vt_deallocate(&vt_fb_driver, info); + ret = vt_deallocate(&vt_fb_driver, info); - return (0); + return (ret); } void diff --git a/sys/dev/vt/vt.h b/sys/dev/vt/vt.h index 977372f04a7d..764d612ed060 100644 --- a/sys/dev/vt/vt.h +++ b/sys/dev/vt/vt.h @@ -91,8 +91,8 @@ SYSCTL_INT(_kern_vt, OID_AUTO, _name, CTLFLAG_RWTUN, &vt_##_name, 0, _descr) struct vt_driver; -void vt_allocate(const struct vt_driver *, void *); -void vt_deallocate(const struct vt_driver *, void *); +int vt_allocate(const struct vt_driver *, void *); +int vt_deallocate(const struct vt_driver *, void *); typedef unsigned int vt_axis_t; diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index e148fa4f8d7d..72e3e8f24883 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -3138,12 +3138,12 @@ vt_resume_handler(void *priv) vd->vd_flags &= ~VDF_SUSPENDED; } -void +int vt_allocate(const struct vt_driver *drv, void *softc) { if (!vty_enabled(VTY_VT)) - return; + return (EINVAL); if (main_vd->vd_driver == NULL) { main_vd->vd_driver = drv; @@ -3157,31 +3157,35 @@ vt_allocate(const struct vt_driver *drv, void *softc) if (drv->vd_priority <= main_vd->vd_driver->vd_priority) { printf("VT: Driver priority %d too low. Current %d\n ", drv->vd_priority, main_vd->vd_driver->vd_priority); - return; + return (EEXIST); } printf("VT: Replacing driver \"%s\" with new \"%s\".\n", main_vd->vd_driver->vd_name, drv->vd_name); } vt_replace_backend(drv, softc); + + return (0); } -void +int vt_deallocate(const struct vt_driver *drv, void *softc) { if (!vty_enabled(VTY_VT)) - return; + return (EINVAL); if (main_vd->vd_prev_driver == NULL || main_vd->vd_driver != drv || main_vd->vd_softc != softc) - return; + return (EPERM); printf("VT: Switching back from \"%s\" to \"%s\".\n", main_vd->vd_driver->vd_name, main_vd->vd_prev_driver->vd_name); vt_replace_backend(NULL, NULL); + + return (0); } void