[V2,02/40] ACPI/IORT: Make prototype of iort_pmsi_get_dev_id() always available

Message ID 20221121140048.408064684@linutronix.de
State New
Headers
Series genirq, irqchip: Convert ARM MSI handling to per device MSI domains |

Commit Message

Thomas Gleixner Nov. 21, 2022, 2:39 p.m. UTC
  W=1 build complains:

drivers/irqchip/irq-gic-v3-its-msi-parent.c:110:12: warning: no previous prototype for function 'iort_pmsi_get_dev_id' [-Wmissing-prototypes]                                                                                              
   int __weak iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id)

Reported-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
---
 include/linux/acpi_iort.h |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Robin Murphy Nov. 21, 2022, 3:13 p.m. UTC | #1
On 2022-11-21 14:39, Thomas Gleixner wrote:
> W=1 build complains:
> 
> drivers/irqchip/irq-gic-v3-its-msi-parent.c:110:12: warning: no previous prototype for function 'iort_pmsi_get_dev_id' [-Wmissing-prototypes]
>     int __weak iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id)
> 
> Reported-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
> ---
>   include/linux/acpi_iort.h |    4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> --- a/include/linux/acpi_iort.h
> +++ b/include/linux/acpi_iort.h
> @@ -26,13 +26,15 @@ int iort_register_domain_token(int trans
>   			       struct fwnode_handle *fw_node);
>   void iort_deregister_domain_token(int trans_id);
>   struct fwnode_handle *iort_find_domain_token(int trans_id);
> +
> +int iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id);
> +
>   #ifdef CONFIG_ACPI_IORT
>   void acpi_iort_init(void);
>   u32 iort_msi_map_id(struct device *dev, u32 id);
>   struct irq_domain *iort_get_device_domain(struct device *dev, u32 id,
>   					  enum irq_domain_bus_token bus_token);
>   void acpi_configure_pmsi_domain(struct device *dev);
> -int iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id);

FWIW I'd prefer to add a "return -ENODEV" stub in the #else section to 
match the others.

<wonders why this was inconsistent to begin with, goes off to dig 
through Git history...>

Oh hey, then we could also finally make good on that 6-year-old promise 
that "The weak function will be removed when the ACPI counterpart is 
merged." :)

Thanks,
Robin.

>   void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
>   		       struct list_head *head);
>   void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,
>
  

Patch

--- a/include/linux/acpi_iort.h
+++ b/include/linux/acpi_iort.h
@@ -26,13 +26,15 @@  int iort_register_domain_token(int trans
 			       struct fwnode_handle *fw_node);
 void iort_deregister_domain_token(int trans_id);
 struct fwnode_handle *iort_find_domain_token(int trans_id);
+
+int iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id);
+
 #ifdef CONFIG_ACPI_IORT
 void acpi_iort_init(void);
 u32 iort_msi_map_id(struct device *dev, u32 id);
 struct irq_domain *iort_get_device_domain(struct device *dev, u32 id,
 					  enum irq_domain_bus_token bus_token);
 void acpi_configure_pmsi_domain(struct device *dev);
-int iort_pmsi_get_dev_id(struct device *dev, u32 *dev_id);
 void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
 		       struct list_head *head);
 void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,