Re: [PATCH 32/37] PCI/sysfs: make I/O resource depend on HAS_IOPORT
From: Bjorn Helgaas
Date: Thu May 05 2022 - 17:42:05 EST
Capitalize "Make" in the subject to match previous drivers/pci
history.
On Fri, Apr 29, 2022 at 03:50:55PM +0200, Niklas Schnelle wrote:
> Exporting I/O resources only makes sense if legacy I/O spaces are
> supported so conditionally add them only if HAS_IOPORT is set.
This doesn't quite match what the patch does. We still *add* the
sysfs files, it's just that reads/writes return error.
> Co-developed-by: Arnd Bergmann <arnd@xxxxxxxxxx>
> Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx>
> ---
> drivers/pci/pci-sysfs.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
> index c263ffc5884a..eda258fa4981 100644
> --- a/drivers/pci/pci-sysfs.c
> +++ b/drivers/pci/pci-sysfs.c
> @@ -1091,6 +1091,7 @@ static int pci_mmap_resource_wc(struct file *filp, struct kobject *kobj,
> return pci_mmap_resource(kobj, attr, vma, 1);
> }
>
> +#ifdef CONFIG_HAS_IOPORT
> static ssize_t pci_resource_io(struct file *filp, struct kobject *kobj,
> struct bin_attribute *attr, char *buf,
> loff_t off, size_t count, bool write)
> @@ -1149,6 +1150,21 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
>
> return pci_resource_io(filp, kobj, attr, buf, off, count, true);
> }
> +#else
> +static ssize_t pci_read_resource_io(struct file *filp, struct kobject *kobj,
> + struct bin_attribute *attr, char *buf,
> + loff_t off, size_t count)
> +{
> + return -ENXIO;
> +}
> +
> +static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
> + struct bin_attribute *attr, char *buf,
> + loff_t off, size_t count)
> +{
> + return -ENXIO;
> +}
> +#endif
I would move the #ifdef inside pci_resource_io(). Only need one
#ifdef and it's closer to the inb/outb.