From: Jonathan Cameron <jonathan.cameron@huawei.com>
To: Keith Busch <kbusch@kernel.org>
Cc: "Krzysztof Wilczy´nski" <kw@linux.com>,
"Matthew Wood" <thepacketgeek@gmail.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Mario Limonciello" <superm1@kernel.org>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [RESEND PATCH v7 1/1] PCI/sysfs: Expose PCIe device serial number
Date: Tue, 16 Sep 2025 14:53:57 +0100 [thread overview]
Message-ID: <20250916145357.00007ebb@huawei.com> (raw)
In-Reply-To: <aMiRy_gJ4MQjgaS7@kbusch-mbp>
On Mon, 15 Sep 2025 16:23:07 -0600
Keith Busch <kbusch@kernel.org> wrote:
> On Sat, Sep 13, 2025 at 03:20:41PM +0900, Krzysztof Wilczy´nski wrote:
> > Hello,
> >
> > > @@ -1749,10 +1767,13 @@ static umode_t pcie_dev_attrs_are_visible(struct kobject *kobj,
> > > struct device *dev = kobj_to_dev(kobj);
> > > struct pci_dev *pdev = to_pci_dev(dev);
> > >
> > > - if (pci_is_pcie(pdev))
> > > - return a->mode;
> > > + if (!pci_is_pcie(pdev))
> > > + return 0;
> > >
> > > - return 0;
> > > + if (a == &dev_attr_serial_number.attr && !pci_get_dsn(pdev))
> > > + return 0;
> > > +
> > > + return a->mode;
> >
> > It would be fine to have this sysfs attribute present all the time, and
> > simply return error when the serial number is not available. Not sure if
> > hiding it adds a lot of value. This is how some of the existing attributes
> > currently behave.
> >
> > But it does add extra code to pcie_dev_attrs_are_visible() where it is now
> > a special case, somewhat.
>
> You bring up a good point, but I think it seems odd that the existing
> pcie attributes are visible even if we know reading it will fail.
Perhaps historical. The is_visible infrastructure is I think somewhat
newer than a lot of that ABI.
> Perhaps the pcie link status visibility should be changed to follow this
> patch's example to hide when they don't exist. Applications might notice
> a different error, ENOENT vs EINVAL, if the device doesn't support the
> capability, but that is a more accurate errno.
As it is sysfs we can never be sure someone hasn't assumed existing files
are present even when they aren't useful.
So I doubt we can improve the existing cases without something breaking.
If we want to give it a go and see who screams I'm fine with that :)
Jonathan
next prev parent reply other threads:[~2025-09-16 13:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-21 23:22 [RESEND PATCH v7 0/1] PCI/sysfs: Expose PCIe device serial number Matthew Wood
2025-08-21 23:22 ` [RESEND PATCH v7 1/1] " Matthew Wood
2025-08-22 0:04 ` Keith Busch
2025-08-27 1:34 ` Hans Zhang
2025-08-27 19:39 ` Keith Busch
2025-09-12 16:56 ` Keith Busch
2025-09-13 6:17 ` Krzysztof Wilczyński
2025-09-15 10:03 ` Jonathan Cameron
2025-09-15 14:28 ` Keith Busch
2025-09-13 6:20 ` Krzysztof Wilczyński
2025-09-15 22:23 ` Keith Busch
2025-09-16 13:53 ` Jonathan Cameron [this message]
2025-09-15 19:39 ` Bjorn Helgaas
2025-09-16 22:35 ` Keith Busch
2025-09-17 8:34 ` Krzysztof Wilczyński
2025-09-17 8:52 ` Thomas Weißschuh
2025-09-17 12:16 ` Krzysztof Wilczyński
2025-09-17 9:08 ` Matthew Wood
2025-09-17 12:17 ` Krzysztof Wilczyński
2025-09-17 8:36 ` Krzysztof Wilczyński
-- strict thread matches above, loose matches on Subject: below --
2025-08-11 17:39 [RESEND PATCH v7 0/1] " Matthew Wood
2025-08-11 17:39 ` [RESEND PATCH v7 1/1] " Matthew Wood
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=20250916145357.00007ebb@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=bhelgaas@google.com \
--cc=kbusch@kernel.org \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=superm1@kernel.org \
--cc=thepacketgeek@gmail.com \
--cc=thomas.weissschuh@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.