2023-07-21 22:10:11

by Smita Koralahalli

[permalink] [raw]
Subject: [PATCH v2 2/3] PCI/AER: Export pcie_aer_is_native()

Export and move the declaration of pcie_aer_is_native() to a common header
file to be reused by cxl/pci module.

Signed-off-by: Smita Koralahalli <[email protected]>
Acked-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Kuppuswamy Sathyanarayanan <[email protected]>
---
v2:
Fixed $SUBJECT
---
drivers/pci/pcie/aer.c | 1 +
drivers/pci/pcie/portdrv.h | 2 --
include/linux/aer.h | 2 ++
3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index f6c24ded134c..87d90dbda023 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -229,6 +229,7 @@ int pcie_aer_is_native(struct pci_dev *dev)

return pcie_ports_native || host->native_aer;
}
+EXPORT_SYMBOL_GPL(pcie_aer_is_native);

int pci_enable_pcie_error_reporting(struct pci_dev *dev)
{
diff --git a/drivers/pci/pcie/portdrv.h b/drivers/pci/pcie/portdrv.h
index 58a2b1a1cae4..1f3803bde7ee 100644
--- a/drivers/pci/pcie/portdrv.h
+++ b/drivers/pci/pcie/portdrv.h
@@ -29,10 +29,8 @@ extern bool pcie_ports_dpc_native;

#ifdef CONFIG_PCIEAER
int pcie_aer_init(void);
-int pcie_aer_is_native(struct pci_dev *dev);
#else
static inline int pcie_aer_init(void) { return 0; }
-static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
#endif

#ifdef CONFIG_HOTPLUG_PCI_PCIE
diff --git a/include/linux/aer.h b/include/linux/aer.h
index 3a3ab05e13fd..94ce49a5f8d5 100644
--- a/include/linux/aer.h
+++ b/include/linux/aer.h
@@ -45,6 +45,7 @@ struct aer_capability_regs {
int pci_enable_pcie_error_reporting(struct pci_dev *dev);
int pci_disable_pcie_error_reporting(struct pci_dev *dev);
int pci_aer_clear_nonfatal_status(struct pci_dev *dev);
+int pcie_aer_is_native(struct pci_dev *dev);
#else
static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev)
{
@@ -58,6 +59,7 @@ static inline int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
{
return -EINVAL;
}
+static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
#endif

void cper_print_aer(struct pci_dev *dev, int aer_severity,
--
2.17.1



2023-07-24 12:59:50

by Robert Richter

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] PCI/AER: Export pcie_aer_is_native()

On 21.07.23 21:47:39, Smita Koralahalli wrote:
> Export and move the declaration of pcie_aer_is_native() to a common header
> file to be reused by cxl/pci module.
>
> Signed-off-by: Smita Koralahalli <[email protected]>
> Acked-by: Bjorn Helgaas <[email protected]>
> Reviewed-by: Kuppuswamy Sathyanarayanan <[email protected]>

Reviewed-by: Robert Richter <[email protected]>

> ---
> v2:
> Fixed $SUBJECT
> ---
> drivers/pci/pcie/aer.c | 1 +
> drivers/pci/pcie/portdrv.h | 2 --
> include/linux/aer.h | 2 ++
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index f6c24ded134c..87d90dbda023 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -229,6 +229,7 @@ int pcie_aer_is_native(struct pci_dev *dev)
>
> return pcie_ports_native || host->native_aer;
> }
> +EXPORT_SYMBOL_GPL(pcie_aer_is_native);
>
> int pci_enable_pcie_error_reporting(struct pci_dev *dev)
> {
> diff --git a/drivers/pci/pcie/portdrv.h b/drivers/pci/pcie/portdrv.h
> index 58a2b1a1cae4..1f3803bde7ee 100644
> --- a/drivers/pci/pcie/portdrv.h
> +++ b/drivers/pci/pcie/portdrv.h
> @@ -29,10 +29,8 @@ extern bool pcie_ports_dpc_native;
>
> #ifdef CONFIG_PCIEAER
> int pcie_aer_init(void);
> -int pcie_aer_is_native(struct pci_dev *dev);
> #else
> static inline int pcie_aer_init(void) { return 0; }
> -static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
> #endif
>
> #ifdef CONFIG_HOTPLUG_PCI_PCIE
> diff --git a/include/linux/aer.h b/include/linux/aer.h
> index 3a3ab05e13fd..94ce49a5f8d5 100644
> --- a/include/linux/aer.h
> +++ b/include/linux/aer.h
> @@ -45,6 +45,7 @@ struct aer_capability_regs {
> int pci_enable_pcie_error_reporting(struct pci_dev *dev);
> int pci_disable_pcie_error_reporting(struct pci_dev *dev);
> int pci_aer_clear_nonfatal_status(struct pci_dev *dev);
> +int pcie_aer_is_native(struct pci_dev *dev);
> #else
> static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev)
> {
> @@ -58,6 +59,7 @@ static inline int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
> {
> return -EINVAL;
> }
> +static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
> #endif
>
> void cper_print_aer(struct pci_dev *dev, int aer_severity,
> --
> 2.17.1
>

2023-08-08 16:30:06

by Dan Williams

[permalink] [raw]
Subject: RE: [PATCH v2 2/3] PCI/AER: Export pcie_aer_is_native()

Smita Koralahalli wrote:
> Export and move the declaration of pcie_aer_is_native() to a common header
> file to be reused by cxl/pci module.
>
> Signed-off-by: Smita Koralahalli <[email protected]>
> Acked-by: Bjorn Helgaas <[email protected]>
> Reviewed-by: Kuppuswamy Sathyanarayanan <[email protected]>
> ---
> v2:
> Fixed $SUBJECT
> ---
> drivers/pci/pcie/aer.c | 1 +
> drivers/pci/pcie/portdrv.h | 2 --
> include/linux/aer.h | 2 ++
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index f6c24ded134c..87d90dbda023 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -229,6 +229,7 @@ int pcie_aer_is_native(struct pci_dev *dev)
>
> return pcie_ports_native || host->native_aer;
> }
> +EXPORT_SYMBOL_GPL(pcie_aer_is_native);

I would put this in the CXL symbol namespace since no other driver has
any business using this. Only the CXL subsystem, which is forced by the
specification to take on some PCI core work in its endpoint driver,
needs this export.

Otherwise, looks good to me.