From 2bf3361d56f70d87a19f5d2bc8d258d418fb7a24 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Mon, 4 Apr 2022 23:06:29 -0600 Subject: [PATCH] linuxkpi: Move lkpi_pcim_iomap_devres_find to .c file lkpi_pcim_iomap_devres_find encodes the size of struct pcim_iomap_devres in the code, so move from .h to .c to move from client driver to linuxkpi module. Sponsored by: Netflix Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D34775 --- .../linuxkpi/common/include/linux/pci.h | 21 +------------------ sys/compat/linuxkpi/common/src/linux_pci.c | 20 ++++++++++++++++++ 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index f71bee511d75..e130cf54680e 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -325,6 +325,7 @@ struct pci_dev *lkpinew_pci_dev(device_t); struct pci_devres *lkpi_pci_devres_get_alloc(struct pci_dev *pdev); void lkpi_pci_devres_release(struct device *, void *); struct resource *_lkpi_pci_iomap(struct pci_dev *pdev, int bar, int mmio_size); +struct pcim_iomap_devres *lkpi_pcim_iomap_devres_find(struct pci_dev *pdev); void lkpi_pcim_iomap_table_release(struct device *, void *); static inline int @@ -1409,26 +1410,6 @@ pcim_enable_device(struct pci_dev *pdev) return (error); } -static inline struct pcim_iomap_devres * -lkpi_pcim_iomap_devres_find(struct pci_dev *pdev) -{ - struct pcim_iomap_devres *dr; - - dr = lkpi_devres_find(&pdev->dev, lkpi_pcim_iomap_table_release, - NULL, NULL); - if (dr == NULL) { - dr = lkpi_devres_alloc(lkpi_pcim_iomap_table_release, - sizeof(*dr), GFP_KERNEL | __GFP_ZERO); - if (dr != NULL) - lkpi_devres_add(&pdev->dev, dr); - } - - if (dr == NULL) - device_printf(pdev->dev.bsddev, "%s: NULL\n", __func__); - - return (dr); -} - static inline void __iomem ** pcim_iomap_table(struct pci_dev *pdev) { diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 8b64cbae0e6a..8a2667ae33c5 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -553,6 +553,26 @@ lkpi_pci_devres_release(struct device *dev, void *p) } } +struct pcim_iomap_devres * +lkpi_pcim_iomap_devres_find(struct pci_dev *pdev) +{ + struct pcim_iomap_devres *dr; + + dr = lkpi_devres_find(&pdev->dev, lkpi_pcim_iomap_table_release, + NULL, NULL); + if (dr == NULL) { + dr = lkpi_devres_alloc(lkpi_pcim_iomap_table_release, + sizeof(*dr), GFP_KERNEL | __GFP_ZERO); + if (dr != NULL) + lkpi_devres_add(&pdev->dev, dr); + } + + if (dr == NULL) + device_printf(pdev->dev.bsddev, "%s: NULL\n", __func__); + + return (dr); +} + void lkpi_pcim_iomap_table_release(struct device *dev, void *p) {