From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: "Krzysztof Wilczyński" <kwilczynski@kernel.org>
Cc: "Bjorn Helgaas" <bhelgaas@google.com>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Magnus Lindholm" <linmag7@gmail.com>,
"Matt Turner" <mattst88@gmail.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Christophe Leroy" <chleroy@kernel.org>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Dexuan Cui" <decui@microsoft.com>,
"Krzysztof Hałasa" <khalasa@piap.pl>,
"Lukas Wunner" <lukas@wunner.de>,
"Oliver O'Halloran" <oohall@gmail.com>,
"Saurabh Singh Sengar" <ssengar@microsoft.com>,
"Shuan He" <heshuan@bytedance.com>,
"Srivatsa Bhat" <srivatsabhat@microsoft.com>,
linux-pci@vger.kernel.org, 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 instead of resource pointer
Date: Mon, 13 Apr 2026 14:51:47 +0300 (EEST) [thread overview]
Message-ID: <36cdf28b-281f-46c7-d4b5-083675b61660@linux.intel.com> (raw)
In-Reply-To: <20260411080148.471335-13-kwilczynski@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 2780 bytes --]
On Sat, 11 Apr 2026, Krzysztof Wilczyński wrote:
> Currently, Alpha's pci_create_one_attr() stores a resource pointer in
> attr->private, and pci_mmap_resource() loops through all BARs to find
> the matching index.
>
> Thus, store the BAR index directly in attr->private and retrieve the
> resource via pci_resource_n(). This eliminates the loop and aligns
> with the convention used by the generic PCI sysfs code.
>
> While at it, add parentheses around the bitwise flag test in
> pci_mmap_resource() to make the precedence explicit, and to
> match the preferred style.
Probably not necessary to touch this line now at all as you're going to
replace it two patches later anyway so it just adds noise.
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> The PCI core change was first added in the commit dca40b186b75 ("PCI:
> Use BAR index in sysfs attr->private instead of resource pointer").
>
> Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
> ---
> arch/alpha/kernel/pci-sysfs.c | 17 ++++++-----------
> 1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c
> index 2324720c3e83..c84867ce31f5 100644
> --- a/arch/alpha/kernel/pci-sysfs.c
> +++ b/arch/alpha/kernel/pci-sysfs.c
> @@ -69,25 +69,20 @@ static int pci_mmap_resource(struct kobject *kobj,
> struct vm_area_struct *vma, int sparse)
> {
> struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));
> - struct resource *res = attr->private;
> + int barno = (unsigned long)attr->private;
> + struct resource *res = pci_resource_n(pdev, barno);
> enum pci_mmap_state mmap_type;
> struct pci_bus_region bar;
> - int i, ret;
> + int ret;
>
> ret = security_locked_down(LOCKDOWN_PCI_ACCESS);
> if (ret)
> return ret;
>
> - for (i = 0; i < PCI_STD_NUM_BARS; i++)
> - if (res == &pdev->resource[i])
> - break;
> - if (i >= PCI_STD_NUM_BARS)
> - return -ENODEV;
> -
> - if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
> + if ((res->flags & IORESOURCE_MEM) && iomem_is_exclusive(res->start))
> return -EINVAL;
>
> - if (!__pci_mmap_fits(pdev, i, vma, sparse))
> + if (!__pci_mmap_fits(pdev, barno, vma, sparse))
> return -EINVAL;
>
> pcibios_resource_to_bus(pdev->bus, &bar, res);
> @@ -170,7 +165,7 @@ static int pci_create_one_attr(struct pci_dev *pdev, int num, char *name,
> res_attr->attr.name = name;
> res_attr->attr.mode = S_IRUSR | S_IWUSR;
> res_attr->size = sparse ? size << 5 : size;
> - res_attr->private = &pdev->resource[num];
> + res_attr->private = (void *)(unsigned long)num;
> return sysfs_create_bin_file(&pdev->dev.kobj, res_attr);
> }
>
>
--
i.
next prev parent reply other threads:[~2026-04-13 11:51 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-11 8:01 [PATCH v4 00/24] PCI: Convert all dynamic sysfs attributes to static Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 01/24] PCI/sysfs: Use PCI resource accessor macros Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 02/24] PCI: Add pci_resource_is_io() and pci_resource_is_mem() helpers Krzysztof Wilczyński
2026-04-13 11:19 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 03/24] PCI/sysfs: Only allow supported resource types in I/O and MMIO helpers Krzysztof Wilczyński
2026-04-13 11:24 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 04/24] PCI/sysfs: Use BAR length in pci_llseek_resource() when attr->size is zero Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 05/24] PCI/sysfs: Add CAP_SYS_ADMIN check to __resource_resize_store() Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 06/24] PCI/sysfs: Add static PCI resource attribute macros Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 07/24] PCI/sysfs: Convert PCI resource files to static attributes Krzysztof Wilczyński
2026-04-13 11:33 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 08/24] PCI/sysfs: Convert __resource_resize_store() to use " Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 09/24] PCI/sysfs: Add stubs for pci_{create,remove}_sysfs_dev_files() Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 10/24] PCI/sysfs: Limit pci_sysfs_init() late_initcall compile scope Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 11/24] alpha/PCI: Add security_locked_down() check to pci_mmap_resource() Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 12/24] alpha/PCI: Use BAR index in sysfs attr->private instead of resource pointer Krzysztof Wilczyński
2026-04-13 11:51 ` Ilpo Järvinen [this message]
2026-04-11 8:01 ` [PATCH v4 13/24] alpha/PCI: Use PCI resource accessor macros Krzysztof Wilczyński
2026-04-13 11:52 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 14/24] alpha/PCI: Clean up pci_mmap_resource() Krzysztof Wilczyński
2026-04-13 11:54 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 15/24] alpha/PCI: Fix __pci_mmap_fits() overflow for zero-length BARs Krzysztof Wilczyński
2026-04-13 11:44 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 16/24] alpha/PCI: Remove WARN from __pci_mmap_fits() Krzysztof Wilczyński
2026-04-13 11:45 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 17/24] alpha/PCI: Add static PCI resource attribute macros Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 18/24] alpha/PCI: Convert resource files to static attributes Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 19/24] PCI/sysfs: Remove pci_{create,remove}_sysfs_dev_files() Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 20/24] PCI: Add macros for legacy I/O and memory address space sizes Krzysztof Wilczyński
2026-04-13 11:59 ` Ilpo Järvinen
2026-04-11 8:01 ` [PATCH v4 21/24] alpha/PCI: Compute legacy size in pci_mmap_legacy_page_range() Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 22/24] PCI/sysfs: Add __weak pci_legacy_has_sparse() helper Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 23/24] PCI/sysfs: Convert legacy I/O and memory attributes to static definitions Krzysztof Wilczyński
2026-04-11 8:01 ` [PATCH v4 24/24] PCI/sysfs: Remove pci_create_legacy_files() and pci_sysfs_init() Krzysztof Wilczyński
2026-04-11 10:40 ` [PATCH v4 00/24] PCI: Convert all dynamic sysfs attributes to static Magnus Lindholm
2026-04-12 6:39 ` Krzysztof Wilczyński
2026-04-12 6:38 ` Krzysztof Wilczyński
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=36cdf28b-281f-46c7-d4b5-083675b61660@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=chleroy@kernel.org \
--cc=decui@microsoft.com \
--cc=helgaas@kernel.org \
--cc=heshuan@bytedance.com \
--cc=khalasa@piap.pl \
--cc=kwilczynski@kernel.org \
--cc=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lpieralisi@kernel.org \
--cc=lukas@wunner.de \
--cc=maddy@linux.ibm.com \
--cc=mani@kernel.org \
--cc=mattst88@gmail.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=oohall@gmail.com \
--cc=richard.henderson@linaro.org \
--cc=srivatsabhat@microsoft.com \
--cc=ssengar@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox