From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793632240; b=5MlzrwqvDs6AXmXw41m2bh1161gUlA3eU7hGpY8G/Aarp0CnLMFaIls72IFt9NZjKInb l/dJOsEHz4cBibavvKOS6fFY9P4tObxQ8ENt/8z1yVOFFhdo5yilVY0vLrL5VHQtFAeI4 63p9f+E0c2N1rZe/dTFMMrT8qA/y+Wlt7pR7MjnKXIJsJVA/A04MG5lIRO/k0awrz2jnX Fs7ZouzWpHjfigzKwoyAcKm+gffYBMokOl43g5O5KGsfuPpB7xXZpUNvcl9tZtTn2F8kL rCTnCQ82fi9T5OSymQpbQFkBNSuJR4xi0HLXOG+Uw8oI637GX/i8dM77ljXA1lFHBVQ== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793632240; h=Received:DKIM-Signature:From:Date:Subject:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id:References:In-Reply-To:To:Cc: X-Mailer:X-Developer-Signature:X-Developer-Key; bh=uhE82sMafPzxvfPBNz7KCycPN06o3nm9WBF7ozqhvvQ=; b=MAWHx/YWfCBAgrBNwM98JVB6D/qlfyRmj/lOrXxfyC/lw5o3aNLZ+3cU3fLmvpkUs74b JlgvmgXdR90oHtNlqrakDORnhX3dqXO2Rfhko9AVSaqEC2Ma7aVlOsO0XWFXD1Hg1YicV reV6GvY0GH69Jz2BCLf3bV8j/OzFETmlDiaUoSMDAj5ydDe1smAmB4nTATmcr/jVaTAuE nzn0U70eufSEfencNwg4jcDWoBvjFHSGYw/yyhEni8XZKjjloEZwaBNwra/PsRu+kCWol EyniJklU6c8VBMg0Be+GcDf46xo9ShyzQUX/5BFkpjVX8PGZm9gBwideWUuX1s9hqjQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b="ge/hcfes"; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 572F16073649; Mon, 2 Nov 2026 15:10:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=ge/hcfes Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DBAA1F00A16; Mon, 2 Nov 2026 15:10:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793632240; bh=uhE82sMafPzxvfPBNz7KCycPN06o3nm9WBF7ozqhvvQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=ge/hcfesra4b7uwUf9ZqYWB9njrsdW7ikBhB2+TOOaHniD4pDo5CkBQJygC306u5b wB/PtUdGYF68K8Wo2p8YgjLfxD3D2QhC4+E4fHRnOPwNucxkzf5DU27WF/NlWY0Iqy GAJgUzmaayVQyj5BRZUykLpT+rpgSNU232/4wjRYpPZguWsLgLHVBrYn151kBTwpRV nXPzhip9LUf2q59LdnLw/8JsXlkcQJRIUj4EgrnieDoD7zSduQEyreNMEArDccn4Qs hw/iWwFl3I5EqeuSbLMiGYZHNpZsLMqiQMwr9TKPFUnb5SsH7J+RiUYOedx6+niPBc 3NqMUySut53JA== From: Christian Brauner Date: Mon, 02 Nov 2026 16:07:08 +0100 Subject: [PATCH RFC 01/23] nubus: let procfs own the seq_file of the resource files X-Mailing-List: linux-fbdev@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261102-work-procfs-drivers-v1-1-a994bd4d3b1a@kernel.org> References: <20261102-work-procfs-drivers-v1-0-a994bd4d3b1a@kernel.org> In-Reply-To: <20261102-work-procfs-drivers-v1-0-a994bd4d3b1a@kernel.org> To: linux-fsdevel@vger.kernel.org Cc: Linus Torvalds , Jann Horn , Josef Bacik , Chris Mason , Jeff Layton , NeilBrown , Eric Dumazet , Thomas Gleixner , Al Viro , Jonathan Corbet , Christoph Hellwig , Greg Kroah-Hartman , Joel Granados , Kees Cook , Jan Kara , Jan Kara , linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-um@lists.infradead.org, linux-wireless@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org, ntfs3@lists.linux.dev, platform-driver-x86@vger.kernel.org, coreteam@netfilter.org, kexec@lists.infradead.org, linux-pci@vger.kernel.org, linux-sound@vger.kernel.org, netfilter-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, ibm-acpi-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cifs@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-mm@kvack.org, linux-sh@vger.kernel.org, linux-usb@vger.kernel.org, samba-technical@lists.samba.org, sparclinux@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-doc@vger.kernel.org, linux-serial@vger.kernel.org, linux-atm-general@lists.sourceforge.net, Takashi Iwai , linux-input@vger.kernel.org, linux-raid@vger.kernel.org, linux-ext4@vger.kernel.org, linux-modules@vger.kernel.org, linux-debuggers@vger.kernel.org, "Christian Brauner (Amutable)" , Chuck Lever X-Mailer: b4 0.17-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1301; i=brauner@kernel.org; h=from:subject:message-id; bh=x7z4QEHcj9RNvDtDgoKANKctl9Sfloc7qmQpa+Y73Ns=; b=owGbwMvMwCU28Zj0gdSKO4sYT6slMWS9WK7fFm4VGPxTRVG9kNHvu4d2mV3i6b4vmrNOVrR6u yuKTYntKGVhEONikBVTZHFoNwmXW85TsdkoUwNmDisTyBAGLk4BmAhfLMM/qxq9uhSer5rKl2Ql TFnt4xj4b6+efHfdMuZlO/bd3bPxKSPDGfl1C7eGHtq3U9NZa+MW4UvzrpQ9y/tVL3jEJn1i6Nl SLgA= X-Developer-Key: i=brauner@kernel.org; a=openpgp; fpr=4880B8C9BD0E5106FC070F4F7B3C391EFEA93624 Get the inode from the file instead of ->private, declare the show function and let procfs open and free the seq_file. Signed-off-by: Christian Brauner (Amutable) --- drivers/nubus/proc.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/nubus/proc.c b/drivers/nubus/proc.c index 3ea3d1738eae..cb21ad1d9964 100644 --- a/drivers/nubus/proc.c +++ b/drivers/nubus/proc.c @@ -107,7 +107,7 @@ nubus_proc_alloc_pde_data(unsigned char *ptr, unsigned int size) static int nubus_proc_rsrc_show(struct seq_file *m, void *v) { - struct inode *inode = m->private; + struct inode *inode = file_inode(m->file); struct nubus_proc_pde_data *pded; pded = pde_data(inode); @@ -138,16 +138,8 @@ static int nubus_proc_rsrc_show(struct seq_file *m, void *v) return 0; } -static int nubus_rsrc_proc_open(struct inode *inode, struct file *file) -{ - return single_open(file, nubus_proc_rsrc_show, inode); -} - static const struct proc_ops nubus_rsrc_proc_ops = { - .proc_open = nubus_rsrc_proc_open, - .proc_read = seq_read, - .proc_lseek = seq_lseek, - .proc_release = single_release, + .proc_show = nubus_proc_rsrc_show, }; void nubus_proc_add_rsrc_mem(struct proc_dir_entry *procdir, -- 2.53.0