From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0458831AA94; Thu, 7 May 2026 23:33:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778196813; cv=pass; b=VDw7Ge4K8d8KIj9Wox3NMMIRbiFc+0fAKPlyMwH3VDWECWrvBoRLdJgBMaAnfM+woCclWyvbvGglvvI4uNPRCq+KnnbQpF6+u9BRcSMQXkV9Rfa3LxaWshtJjX3FGIV2I1ERxE5o+oImTLmeo0V8sEFV7+4tYCcxzR9qCA/UTG0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778196813; c=relaxed/simple; bh=LS72whzBPfI8wJ5XGKSFg2YZwraPxlufzrfYFanpH6w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U7+ncpO5yF7KAygPwhZyq/f1D8lqUTR8e7VnbKRnnjE1Zd3I7H+mgzwL2LJmiZ9Cnc6GkL+jetz+R8HyBFehiMnIvr83Y11Pp9mOtBHAdvt7Tgbk20rClN5h8kRrzhXn5GoxqISQBoF0y3gQtSKm0i9BZuwW9Qt6adnAxFWUQ8w= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=deborah.brouwer@collabora.com header.b=bLnOMmQF; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=deborah.brouwer@collabora.com header.b="bLnOMmQF" ARC-Seal: i=1; a=rsa-sha256; t=1778196769; cv=none; d=zohomail.com; s=zohoarc; b=B0gKagO8Brbvh2dtH5CQYZF2oKOX1R9r00JZZXK0C/iTD1gP7WcdolnilHRz+nxsadSp3JLoGQ2mJUqSLAjTB3vgmwVNPU8Ld/3d5nBpZ/eEFCAWvZyTe64YmfahP4hF+5xh2T9wLE389CqEouzCmhabS/BLxzCsWyg2ByRc2iU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778196769; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=vTqw3jc94opHT2uoxPiQwEHdp0J+oq/GgnCRmE7vr4k=; b=Nw9RcZPiylbkyhrkkXx1dRyClrdga9qu4TyCwlawcXmmCnQRnVSK7f8bEM41UYcaVCcC7pz55Z68aHKix9vF0Z68bksprpkN2X/6f8JXXVTdusgU07FqwrphEhQvyNMTIP3NyiXev8Crl/XKkdkrCMlJaY49D4//sQSHLuoE3ng= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=deborah.brouwer@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1778196769; s=zohomail; d=collabora.com; i=deborah.brouwer@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=vTqw3jc94opHT2uoxPiQwEHdp0J+oq/GgnCRmE7vr4k=; b=bLnOMmQF4ag3NVS7UO6/9eDpodF6H9woyCqEw7csrAXF8k9EjvauGMOcl61iA+5f xa79o6hQJ8k0sgn4VJl8ZQVugR1i1Wc8LjfnxQktMwz4bz9jQBb/70xOQJBbXAMLq46 QFuTH9PRyGEdrFOJAt2+gpZMLN3209lJxN0iy27w= Received: by mx.zohomail.com with SMTPS id 1778196766791583.476563743686; Thu, 7 May 2026 16:32:46 -0700 (PDT) From: Deborah Brouwer Date: Thu, 07 May 2026 16:32:41 -0700 Subject: [PATCH 3/7] drm/rust: add File::device() helper Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260507-tyr-mmap-v1-3-eec048a23c25@collabora.com> References: <20260507-tyr-mmap-v1-0-eec048a23c25@collabora.com> In-Reply-To: <20260507-tyr-mmap-v1-0-eec048a23c25@collabora.com> To: Alice Ryhl , Lorenzo Stoakes , "Liam R. Howlett" , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter , Daniel Almeida Cc: linux-mm@kvack.org, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, boris.brezillon@collabora.com, beata.michalska@arm.com, lyude@redhat.com, acourbot@nvidia.com, work@onurozkan.dev, alvin.sun@linux.dev, Laura Nao , Deborah Brouwer X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1560; i=deborah.brouwer@collabora.com; h=from:subject:message-id; bh=LS72whzBPfI8wJ5XGKSFg2YZwraPxlufzrfYFanpH6w=; b=owGbwMvMwCVWuULzOU9c7WvG02pJDJl/FSXnnEoSj0v+Wfl/wVnruTPaf/gLX4m8/LJBe/f/a cYFOw6v6ShlYRDjYpAVU2Q5a2/UI1713kh3/v9mmDmsTCBDGLg4BWAitzwZGY6YKvGG9RQcXhii W3zB4vOz1xrsy18UJRiffv4+eadU+VlGhns2Zmv/hSrNiXAzEE1sdOJMLAlzOVi3hV1Gc975G0Y /+AE= X-Developer-Key: i=deborah.brouwer@collabora.com; a=openpgp; fpr=CD3F328C177AEF322D9FFF8379A829E70C5E7DEB Add a helper to retrieve the DRM device associated with an open `drm::file::File`. This wraps the common pattern of traversing `drm_file.minor->dev` and returning the corresponding `drm::Device`. This is useful for DRM file operation callbacks that need access to the owning DRM device from a `File` reference, avoiding repeated open-coded raw pointer traversal in drivers. Signed-off-by: Deborah Brouwer --- rust/kernel/drm/file.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rust/kernel/drm/file.rs b/rust/kernel/drm/file.rs index 10160601ce5a..5af28a9558e9 100644 --- a/rust/kernel/drm/file.rs +++ b/rust/kernel/drm/file.rs @@ -45,6 +45,18 @@ pub(super) fn as_raw(&self) -> *mut bindings::drm_file { self.0.get() } + /// Returns the DRM device associated with this open file. + pub fn device(&self) -> &drm::Device { + // SAFETY: By the type invariant, `self.as_raw()` points to a valid open + // `struct drm_file`. DRM initializes `minor` for open DRM files, and + // `minor->dev` points to the registered DRM device associated with this + // file. + unsafe { + let minor = (*self.as_raw()).minor; + drm::Device::from_raw((*minor).dev) + } + } + fn driver_priv(&self) -> *mut T { // SAFETY: By the type invariants of `Self`, `self.as_raw()` is always valid. unsafe { (*self.as_raw()).driver_priv }.cast() -- 2.53.0