Received: by 2002:ab2:6816:0:b0:1f9:5764:f03e with SMTP id t22csp2629698lqo; Mon, 20 May 2024 11:15:10 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXV/YEU+RzieExcRhpSUDWp4SR07wx0QMPb4jvG9RPcxmmd7Op/kvXT1JHDGzYI8KoISJteL0CLSsrnZx1f2b3OMr3iDB5HHbZ2wGVlbw== X-Google-Smtp-Source: AGHT+IF3FtX5lEXx0il+lkx/9wMSNm0CCxekOdZnn/eSzFfacbtDBAgKGb5Hv1Qv/pfhbst5HcGc X-Received: by 2002:a05:622a:7d8a:b0:43e:3d64:882 with SMTP id d75a77b69052e-43e3d640c02mr103147591cf.34.1716228909848; Mon, 20 May 2024 11:15:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716228909; cv=pass; d=google.com; s=arc-20160816; b=jLGgt1ZrGyD9L6TEFupph7+6V4uRDpvqNqnon+D+LkAxoOKqk/lZcx9Jz5gh8w9uin Zts10xJKv/B0BGn094V1WW2i3SIz5/yBau93KxzvF+bsibzrxR3r1XDMseM1h5uvuX90 KmFvzxu/XhQUbTVdUdQmZYnimG01mM6qgMj3d7LmKrof1DR0+othlW0yF0Fn1gBW1NO6 WqCUc6HY6mrhBpbmCCe7Pdr+zYq6Uv/3+r3xAxfxSXaDjSxqQvhENYYXCjl05HZoPxod EVhQ1ITELIh9iNJRioS/kdPIl3Z365PFzyMo7kK2o2ZX0ymPhdDmpajVHQW3pxOSrvL4 M5Sw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=tEDCeDsFtWl9RrFlddTpEfYzYVugJRuX+1OuZVerBIg=; fh=vTJwzQHUAkPnFukvGUcruuk8IB4DpQwWLUm9b+NALt4=; b=MIIccUfRdEnQH8deC12pvURzRXwd2/sCNWDKiLiVlvjoBWtlRT4cceZUpjbnhnkHtR CEBhrbr5G584pqeOHwjZoPVDof0OnSjdCwfhpEuEp+nZxM0Yfh3QcaaebUqv8gK04OmS l/XaxnRLY+Wt03KxM/RIcKdv+t/Dt6/U+3STbi49hEOAQnVt77Ss5hKvXKNGA8Bm1Hqq /KuifyuJvvmcjpcnEVFRfME7QVJXdgEppmBbnss5QPKzl1J2Ve6k0M3olbo/tGJXzUQY X6aJa4+nwh/0S9Uo48y3VFZS2TQbyDoiqJaeljQG2juqSYDkEIiGCV+Q2ZtMI1uxU44F h/Wg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=jTFBNKml; arc=pass (i=1 dkim=pass dkdomain=linuxfoundation.org); spf=pass (google.com: domain of linux-kernel+bounces-184053-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-184053-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d75a77b69052e-43df56c621csi10061641cf.628.2024.05.20.11.15.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 11:15:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-184053-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=jTFBNKml; arc=pass (i=1 dkim=pass dkdomain=linuxfoundation.org); spf=pass (google.com: domain of linux-kernel+bounces-184053-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-184053-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8D0AC1C21439 for ; Mon, 20 May 2024 18:15:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C142A138497; Mon, 20 May 2024 18:15:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="jTFBNKml" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D4490138490; Mon, 20 May 2024 18:15:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716228901; cv=none; b=OkoupTStRTWmGu2u6pZurMuKaNokfRQMaAQQl/lWTbOc/rXs/um6SMZ6lXEulICfwth1CLO7t3tEMaAFs3fBr5OSHb3Jfc8UaETaurNYnH2P9jAcW5vAqCrUMNaesFyoC+PJtnalEku+hRz4WTf1/Y0yShj1Qa6INUJv7PZvy4A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716228901; c=relaxed/simple; bh=sdl7xmPQOgHmv8GHNzjY9FDVM4BY1dyuK3qdPCbMb4I=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=A2xM/DbcEI/BxC5uDt2x+Y4/q4Y0asMpnDxcKkc8mnTwsUG/LPbH2BgHyD4xAZPt4/Sb03A/iM6XqPpMfXkkRohZpGeNDXu6qoeHAyB4rlXb52IQw62tgQAU8/zX3qCW8T+AVtP+KzSIROe2LRVGcMeduTGNAJshtG89j/U67Y4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=jTFBNKml; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB8F9C2BD10; Mon, 20 May 2024 18:14:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1716228900; bh=sdl7xmPQOgHmv8GHNzjY9FDVM4BY1dyuK3qdPCbMb4I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jTFBNKmlOScjmHMgVjKzvuxl4P/2jz+ogsZGgw1W4Q6qqpRrKxkSiEUB/OdEOMxRl FnsKm7YnC5Dh9n/BTGYBHSlm/futsDGIx1scdsbwpwfR87bmbzi+0NE0HOUkB6K+IV EKV8KhcefwOIhT06hI2UMnvQKe+wcBfOcA9P4bGQ= Date: Mon, 20 May 2024 20:14:57 +0200 From: Greg KH To: Danilo Krummrich Cc: rafael@kernel.org, bhelgaas@google.com, ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com, boqun.feng@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com, benno.lossin@proton.me, a.hindborg@samsung.com, aliceryhl@google.com, airlied@gmail.com, fujita.tomonori@gmail.com, lina@asahilina.net, pstanner@redhat.com, ajanulgu@redhat.com, lyude@redhat.com, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: Re: [RFC PATCH 00/11] [RFC] Device / Driver and PCI Rust abstractions Message-ID: <2024052029-unbridle-wildcard-fbf8@gregkh> References: <20240520172554.182094-1-dakr@redhat.com> 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=us-ascii Content-Disposition: inline In-Reply-To: <20240520172554.182094-1-dakr@redhat.com> On Mon, May 20, 2024 at 07:25:37PM +0200, Danilo Krummrich wrote: > This patch sereis implements basic generic device / driver Rust abstractions, > as well as some basic PCI abstractions. > > This patch series is sent in the context of [1], and the corresponding patch > series [2], which contains some basic DRM Rust abstractions and a stub > implementation of the Nova GPU driver. > > Nova is intended to be developed upstream, starting out with just a stub driver > to lift some initial required infrastructure upstream. A more detailed > explanation can be found in [1]. > > Some patches, which implement the generic device / driver Rust abstractions have > been sent a couple of weeks ago already [3]. For those patches the following > changes have been made since then: > > - remove RawDevice::name() > - remove rust helper for dev_name() and dev_get_drvdata() > - use AlwaysRefCounted for struct Device > - drop trait RawDevice entirely in favor of AsRef and provide > Device::from_raw(), Device::as_raw() and Device::as_ref() instead > - implement RevocableGuard > - device::Data, remove resources and replace it with a Devres abstraction > - implement Devres abstraction for resources > > As mentioned above, a driver serving as example on how these abstractions are > used within a (DRM) driver can be found in [2]. > > Additionally, the device / driver bits can also be found in [3], all > abstractions required for Nova in [4] and Nova in [5]. > > [1] https://lore.kernel.org/dri-devel/Zfsj0_tb-0-tNrJy@cassiopeiae/T/#u > [2] https://lore.kernel.org/dri-devel/20240520172059.181256-1-dakr@redhat.com/ > [3] https://github.com/Rust-for-Linux/linux/tree/staging/rust-device > [4] https://github.com/Rust-for-Linux/linux/tree/staging/dev > [5] https://gitlab.freedesktop.org/drm/nova/-/tree/nova-next > > Danilo Krummrich (2): > rust: add abstraction for struct device > rust: add devres abstraction > > FUJITA Tomonori (1): > rust: add basic PCI driver abstractions > > Philipp Stanner (2): > rust: add basic abstractions for iomem operations > rust: PCI: add BAR request and ioremap > > Wedson Almeida Filho (6): > rust: add driver abstraction > rust: add rcu abstraction > rust: add revocable mutex > rust: add revocable objects > rust: add device::Data > rust: add `dev_*` print macros. No list of the changes made since the last time this was submitted? No versioning of this submission? Why not? thanks, greg k-h