Re: [PATCH 11/32] s390/pci: add helper function to find device by handle
From: Eric Farman <farman@linux.ibm.com>
Date: 2021-12-10 19:04:50
Also in:
linux-s390, lkml
On Tue, 2021-12-07 at 15:57 -0500, Matthew Rosato wrote:
Intercepted zPCI instructions will specify the desired function via a function handle. Add a routine to find the device with the specified handle. Acked-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
quoted hunk ↗ jump to hunk
--- arch/s390/include/asm/pci.h | 1 + arch/s390/pci/pci.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+)diff --git a/arch/s390/include/asm/pci.hb/arch/s390/include/asm/pci.h index 1a8f9f42da3a..00a2c24d6d2b 100644--- a/arch/s390/include/asm/pci.h +++ b/arch/s390/include/asm/pci.h@@ -275,6 +275,7 @@ static inline struct zpci_dev *to_zpci_dev(structdevice *dev) } struct zpci_dev *get_zdev_by_fid(u32); +struct zpci_dev *get_zdev_by_fh(u32 fh); /* DMA */ int zpci_dma_init(void);diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index 9b4d3d78b444..af1c0ae017b1 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c@@ -76,6 +76,22 @@ struct zpci_dev *get_zdev_by_fid(u32 fid) return zdev; } +struct zpci_dev *get_zdev_by_fh(u32 fh) +{ + struct zpci_dev *tmp, *zdev = NULL; + + spin_lock(&zpci_list_lock); + list_for_each_entry(tmp, &zpci_list, entry) { + if (tmp->fh == fh) { + zdev = tmp; + break; + } + } + spin_unlock(&zpci_list_lock); + return zdev; +} +EXPORT_SYMBOL_GPL(get_zdev_by_fh); + void zpci_remove_reserved_devices(void) { struct zpci_dev *tmp, *zdev;