[{"id":3676683,"web_url":"http://patchwork.ozlabs.org/comment/3676683/","msgid":"<36cdf28b-281f-46c7-d4b5-083675b61660@linux.intel.com>","list_archive_url":null,"date":"2026-04-13T11:51:47","subject":"Re: [PATCH v4 12/24] alpha/PCI: Use BAR index in sysfs attr->private\n instead of resource pointer","submitter":{"id":83553,"url":"http://patchwork.ozlabs.org/api/people/83553/","name":"Ilpo Järvinen","email":"ilpo.jarvinen@linux.intel.com"},"content":"On Sat, 11 Apr 2026, Krzysztof Wilczyński wrote:\n\n> Currently, Alpha's pci_create_one_attr() stores a resource pointer in\n> attr->private, and pci_mmap_resource() loops through all BARs to find\n> the matching index.\n> \n> Thus, store the BAR index directly in attr->private and retrieve the\n> resource via pci_resource_n().  This eliminates the loop and aligns\n> with the convention used by the generic PCI sysfs code.\n> \n> While at it, add parentheses around the bitwise flag test in\n> pci_mmap_resource() to make the precedence explicit, and to\n> match the preferred style.\n\nProbably not necessary to touch this line now at all as you're going to \nreplace it two patches later anyway so it just adds noise.\n\nReviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>\n\n> The PCI core change was first added in the commit dca40b186b75 (\"PCI:\n> Use BAR index in sysfs attr->private instead of resource pointer\").\n> \n> Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>\n> ---\n>  arch/alpha/kernel/pci-sysfs.c | 17 ++++++-----------\n>  1 file changed, 6 insertions(+), 11 deletions(-)\n> \n> diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c\n> index 2324720c3e83..c84867ce31f5 100644\n> --- a/arch/alpha/kernel/pci-sysfs.c\n> +++ b/arch/alpha/kernel/pci-sysfs.c\n> @@ -69,25 +69,20 @@ static int pci_mmap_resource(struct kobject *kobj,\n>  \t\t\t     struct vm_area_struct *vma, int sparse)\n>  {\n>  \tstruct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));\n> -\tstruct resource *res = attr->private;\n> +\tint barno = (unsigned long)attr->private;\n> +\tstruct resource *res = pci_resource_n(pdev, barno);\n>  \tenum pci_mmap_state mmap_type;\n>  \tstruct pci_bus_region bar;\n> -\tint i, ret;\n> +\tint ret;\n>  \n>  \tret = security_locked_down(LOCKDOWN_PCI_ACCESS);\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> -\tfor (i = 0; i < PCI_STD_NUM_BARS; i++)\n> -\t\tif (res == &pdev->resource[i])\n> -\t\t\tbreak;\n> -\tif (i >= PCI_STD_NUM_BARS)\n> -\t\treturn -ENODEV;\n> -\n> -\tif (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))\n> +\tif ((res->flags & IORESOURCE_MEM) && iomem_is_exclusive(res->start))\n>  \t\treturn -EINVAL;\n>  \n> -\tif (!__pci_mmap_fits(pdev, i, vma, sparse))\n> +\tif (!__pci_mmap_fits(pdev, barno, vma, sparse))\n>  \t\treturn -EINVAL;\n>  \n>  \tpcibios_resource_to_bus(pdev->bus, &bar, res);\n> @@ -170,7 +165,7 @@ static int pci_create_one_attr(struct pci_dev *pdev, int num, char *name,\n>  \tres_attr->attr.name = name;\n>  \tres_attr->attr.mode = S_IRUSR | S_IWUSR;\n>  \tres_attr->size = sparse ? size << 5 : size;\n> -\tres_attr->private = &pdev->resource[num];\n> +\tres_attr->private = (void *)(unsigned long)num;\n>  \treturn sysfs_create_bin_file(&pdev->dev.kobj, res_attr);\n>  }\n>  \n>","headers":{"Return-Path":"\n <linux-pci+bounces-52428-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=iXqQa73I;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52428-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=\"iXqQa73I\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=192.198.163.13","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linux.intel.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvQnb693tz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 21:54:59 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 2C1FA303467F\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 11:52:01 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 64D96362125;\n\tMon, 13 Apr 2026 11:52:00 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.13])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id F2C99358385;\n\tMon, 13 Apr 2026 11:51:58 +0000 (UTC)","from orviesa004.jf.intel.com ([10.64.159.144])\n  by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 13 Apr 2026 04:51:58 -0700","from ijarvine-mobl1.ger.corp.intel.com (HELO localhost)\n ([10.245.245.63])\n  by orviesa004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 13 Apr 2026 04:51:50 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776081120; cv=none;\n b=ni1Ty0q+7/X7HY4afko2dWXTr2NE9Ivqm+8Tam1GRm6IxuuSQG/RkZY0jSLtTCDzYU+VMbMnWX2uuDAzEvtAh0kGdhQqrvgopr/WSKAnwb4PqANUyYxz9UIsSU6xdtK2JoS2zmQR3vFp/rSy01IJAPUimx0OI0lWmXi1sABatC0=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776081120; c=relaxed/simple;\n\tbh=fpOAaZKfotFu8HPdtyLtTcGQEsJqFpCbjJlbK0uwLl4=;\n\th=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:\n\t MIME-Version:Content-Type;\n b=LvlFvD/SscZ+SSTIXcSLsNTnGzzhXJTMzrAlIbeQ2C17W7iQhWBNPvJKpqRfu6o/HWanbBbd5CPXMlBYN5fY5uVHuGzDo7MuwpkjEewAFJ7FTWvRdXjF4hSay9wqdKOxvjL9a05UqaqqmSQqpXgC454xeRN/CbXgVPaDyATM1wU=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com;\n spf=pass smtp.mailfrom=linux.intel.com;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=iXqQa73I; arc=none smtp.client-ip=192.198.163.13","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1776081119; x=1807617119;\n  h=from:date:to:cc:subject:in-reply-to:message-id:\n   references:mime-version;\n  bh=fpOAaZKfotFu8HPdtyLtTcGQEsJqFpCbjJlbK0uwLl4=;\n  b=iXqQa73IIKOaNa39iysbl5EJneaJoX089Tn1w23Ua8X4Ik+UFr7rL/J9\n   eKT2+K+rDJomobgnHX2xorM7QeL1Uqhid3a462asSNubts1ASYKc4G7/0\n   CiU2YVGidC6bycafRd0+BvNcJv2Af5O2ohhef7o5w2SHQ06rfhBYq/IEv\n   NrJykghRnhdgUFKMj4Zv+J9vEpRXnqJxndbgFMpRupMFHsygqNZjB4eiE\n   ON0DqY4EkaTJKzeC/5FB2QsNyWAftGqq0YK/wdut/1owd/dUZRSdsTtof\n   HUhM3TBxQWa6LtNLQbh6KHRZkGg7c39fGNgIb1gltcwFnuG9l41oDiODW\n   Q==;","X-CSE-ConnectionGUID":["Q4pnBVOISpOu4tvqywU9UQ==","i/Lq7BnxRFiQWIqqO/VyQw=="],"X-CSE-MsgGUID":["rP90NjLIS2ykqB3rkzgHGA==","lhiRzlaYThGfHhcJw4GQnw=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11757\"; a=\"79594855\"","E=Sophos;i=\"6.23,177,1770624000\";\n   d=\"scan'208\";a=\"79594855\"","E=Sophos;i=\"6.23,177,1770624000\";\n   d=\"scan'208\";a=\"234182329\""],"X-ExtLoop1":"1","From":"=?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>","Date":"Mon, 13 Apr 2026 14:51:47 +0300 (EEST)","To":"=?iso-8859-2?q?Krzysztof_Wilczy=F1ski?= <kwilczynski@kernel.org>","cc":"Bjorn Helgaas <bhelgaas@google.com>, Bjorn Helgaas <helgaas@kernel.org>,\n  Manivannan Sadhasivam <mani@kernel.org>,\n  Lorenzo Pieralisi <lpieralisi@kernel.org>,\n  Magnus Lindholm <linmag7@gmail.com>, Matt Turner <mattst88@gmail.com>,\n  Richard Henderson <richard.henderson@linaro.org>,\n  Christophe Leroy <chleroy@kernel.org>,\n  Madhavan Srinivasan <maddy@linux.ibm.com>,\n  Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,\n  Dexuan Cui <decui@microsoft.com>,\n =?iso-8859-2?q?Krzysztof_Ha=B3asa?= <khalasa@piap.pl>,\n  Lukas Wunner <lukas@wunner.de>, Oliver O'Halloran <oohall@gmail.com>,\n  Saurabh Singh Sengar <ssengar@microsoft.com>,\n  Shuan He <heshuan@bytedance.com>,\n  Srivatsa Bhat <srivatsabhat@microsoft.com>, linux-pci@vger.kernel.org,\n  linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org","Subject":"Re: [PATCH v4 12/24] alpha/PCI: Use BAR index in sysfs attr->private\n instead of resource pointer","In-Reply-To":"<20260411080148.471335-13-kwilczynski@kernel.org>","Message-ID":"<36cdf28b-281f-46c7-d4b5-083675b61660@linux.intel.com>","References":"<20260411080148.471335-1-kwilczynski@kernel.org>\n <20260411080148.471335-13-kwilczynski@kernel.org>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"multipart/mixed; boundary=\"8323328-1179895439-1776081107=:962\""}}]