All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
@ 2022-07-26  3:35 ` Ren Zhijie
  0 siblings, 0 replies; 6+ messages in thread
From: Ren Zhijie @ 2022-07-26  3:35 UTC (permalink / raw)
  To: lpieralisi, guohanjun, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, jroedel, robin.murphy
  Cc: linux-acpi, linux-arm-kernel, linux-kernel, Ren Zhijie

If CONFIG_ACPI_IORT=y and CONFIG_IOMMU_API is not set,
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-,
will be failed, like this:

drivers/acpi/arm64/iort.c: In function ‘iort_get_rmr_sids’:
drivers/acpi/arm64/iort.c:1406:2: error: implicit declaration of function ‘iort_iommu_rmr_get_resv_regions’; did you mean ‘iort_iommu_get_resv_regions’? [-Werror=implicit-function-declaration]
  iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  iort_iommu_get_resv_regions
cc1: some warnings being treated as errors
make[3]: *** [drivers/acpi/arm64/iort.o] Error 1

The function iort_iommu_rmr_get_resv_regions()
is declared under CONFIG_IOMMU_API, 
and the callers of iort_get_rmr_sids() and iort_put_rmr_sids()
would select IOMMU_API.

To fix this error, move the definitions to #ifdef CONFIG_IOMMU_API.

Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info directly")
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
---
Changes in v2:
 - change commit message to a max of 75 chars per line.

 drivers/acpi/arm64/iort.c | 56 +++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index cd1349d3544e..ca2aed86b540 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -1162,6 +1162,34 @@ void iort_iommu_get_resv_regions(struct device *dev, struct list_head *head)
 	iort_iommu_rmr_get_resv_regions(fwspec->iommu_fwnode, dev, head);
 }
 
+/**
+ * iort_get_rmr_sids - Retrieve IORT RMR node reserved regions with
+ *                     associated StreamIDs information.
+ * @iommu_fwnode: fwnode associated with IOMMU
+ * @head: Resereved region list
+ */
+void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
+		       struct list_head *head)
+{
+	iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
+}
+EXPORT_SYMBOL_GPL(iort_get_rmr_sids);
+
+/**
+ * iort_put_rmr_sids - Free memory allocated for RMR reserved regions.
+ * @iommu_fwnode: fwnode associated with IOMMU
+ * @head: Resereved region list
+ */
+void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,
+		       struct list_head *head)
+{
+	struct iommu_resv_region *entry, *next;
+
+	list_for_each_entry_safe(entry, next, head, list)
+		entry->free(NULL, entry);
+}
+EXPORT_SYMBOL_GPL(iort_put_rmr_sids);
+
 static inline bool iort_iommu_driver_enabled(u8 type)
 {
 	switch (type) {
@@ -1394,34 +1422,6 @@ int iort_dma_get_ranges(struct device *dev, u64 *size)
 		return nc_dma_get_range(dev, size);
 }
 
-/**
- * iort_get_rmr_sids - Retrieve IORT RMR node reserved regions with
- *                     associated StreamIDs information.
- * @iommu_fwnode: fwnode associated with IOMMU
- * @head: Resereved region list
- */
-void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
-		       struct list_head *head)
-{
-	iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
-}
-EXPORT_SYMBOL_GPL(iort_get_rmr_sids);
-
-/**
- * iort_put_rmr_sids - Free memory allocated for RMR reserved regions.
- * @iommu_fwnode: fwnode associated with IOMMU
- * @head: Resereved region list
- */
-void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,
-		       struct list_head *head)
-{
-	struct iommu_resv_region *entry, *next;
-
-	list_for_each_entry_safe(entry, next, head, list)
-		entry->free(NULL, entry);
-}
-EXPORT_SYMBOL_GPL(iort_put_rmr_sids);
-
 static void __init acpi_iort_register_irq(int hwirq, const char *name,
 					  int trigger,
 					  struct resource *res)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
@ 2022-07-26  3:35 ` Ren Zhijie
  0 siblings, 0 replies; 6+ messages in thread
From: Ren Zhijie @ 2022-07-26  3:35 UTC (permalink / raw)
  To: lpieralisi, guohanjun, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, jroedel, robin.murphy
  Cc: linux-acpi, linux-arm-kernel, linux-kernel, Ren Zhijie

If CONFIG_ACPI_IORT=y and CONFIG_IOMMU_API is not set,
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-,
will be failed, like this:

drivers/acpi/arm64/iort.c: In function ‘iort_get_rmr_sids’:
drivers/acpi/arm64/iort.c:1406:2: error: implicit declaration of function ‘iort_iommu_rmr_get_resv_regions’; did you mean ‘iort_iommu_get_resv_regions’? [-Werror=implicit-function-declaration]
  iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  iort_iommu_get_resv_regions
cc1: some warnings being treated as errors
make[3]: *** [drivers/acpi/arm64/iort.o] Error 1

The function iort_iommu_rmr_get_resv_regions()
is declared under CONFIG_IOMMU_API, 
and the callers of iort_get_rmr_sids() and iort_put_rmr_sids()
would select IOMMU_API.

To fix this error, move the definitions to #ifdef CONFIG_IOMMU_API.

Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info directly")
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
---
Changes in v2:
 - change commit message to a max of 75 chars per line.

 drivers/acpi/arm64/iort.c | 56 +++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index cd1349d3544e..ca2aed86b540 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -1162,6 +1162,34 @@ void iort_iommu_get_resv_regions(struct device *dev, struct list_head *head)
 	iort_iommu_rmr_get_resv_regions(fwspec->iommu_fwnode, dev, head);
 }
 
+/**
+ * iort_get_rmr_sids - Retrieve IORT RMR node reserved regions with
+ *                     associated StreamIDs information.
+ * @iommu_fwnode: fwnode associated with IOMMU
+ * @head: Resereved region list
+ */
+void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
+		       struct list_head *head)
+{
+	iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
+}
+EXPORT_SYMBOL_GPL(iort_get_rmr_sids);
+
+/**
+ * iort_put_rmr_sids - Free memory allocated for RMR reserved regions.
+ * @iommu_fwnode: fwnode associated with IOMMU
+ * @head: Resereved region list
+ */
+void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,
+		       struct list_head *head)
+{
+	struct iommu_resv_region *entry, *next;
+
+	list_for_each_entry_safe(entry, next, head, list)
+		entry->free(NULL, entry);
+}
+EXPORT_SYMBOL_GPL(iort_put_rmr_sids);
+
 static inline bool iort_iommu_driver_enabled(u8 type)
 {
 	switch (type) {
@@ -1394,34 +1422,6 @@ int iort_dma_get_ranges(struct device *dev, u64 *size)
 		return nc_dma_get_range(dev, size);
 }
 
-/**
- * iort_get_rmr_sids - Retrieve IORT RMR node reserved regions with
- *                     associated StreamIDs information.
- * @iommu_fwnode: fwnode associated with IOMMU
- * @head: Resereved region list
- */
-void iort_get_rmr_sids(struct fwnode_handle *iommu_fwnode,
-		       struct list_head *head)
-{
-	iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
-}
-EXPORT_SYMBOL_GPL(iort_get_rmr_sids);
-
-/**
- * iort_put_rmr_sids - Free memory allocated for RMR reserved regions.
- * @iommu_fwnode: fwnode associated with IOMMU
- * @head: Resereved region list
- */
-void iort_put_rmr_sids(struct fwnode_handle *iommu_fwnode,
-		       struct list_head *head)
-{
-	struct iommu_resv_region *entry, *next;
-
-	list_for_each_entry_safe(entry, next, head, list)
-		entry->free(NULL, entry);
-}
-EXPORT_SYMBOL_GPL(iort_put_rmr_sids);
-
 static void __init acpi_iort_register_irq(int hwirq, const char *name,
 					  int trigger,
 					  struct resource *res)
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
  2022-07-26  3:35 ` Ren Zhijie
@ 2022-07-26  6:54   ` Hanjun Guo
  -1 siblings, 0 replies; 6+ messages in thread
From: Hanjun Guo @ 2022-07-26  6:54 UTC (permalink / raw)
  To: Ren Zhijie, lpieralisi, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, jroedel, robin.murphy
  Cc: linux-acpi, linux-arm-kernel, linux-kernel

On 2022/7/26 11:35, Ren Zhijie wrote:
> If CONFIG_ACPI_IORT=y and CONFIG_IOMMU_API is not set,
> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-,
> will be failed, like this:
> 
> drivers/acpi/arm64/iort.c: In function ‘iort_get_rmr_sids’:
> drivers/acpi/arm64/iort.c:1406:2: error: implicit declaration of function ‘iort_iommu_rmr_get_resv_regions’; did you mean ‘iort_iommu_get_resv_regions’? [-Werror=implicit-function-declaration]
>    iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    iort_iommu_get_resv_regions
> cc1: some warnings being treated as errors
> make[3]: *** [drivers/acpi/arm64/iort.o] Error 1
> 
> The function iort_iommu_rmr_get_resv_regions()
> is declared under CONFIG_IOMMU_API,
> and the callers of iort_get_rmr_sids() and iort_put_rmr_sids()
> would select IOMMU_API.
> 
> To fix this error, move the definitions to #ifdef CONFIG_IOMMU_API.
> 
> Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info directly")
> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
> ---
> Changes in v2:
>   - change commit message to a max of 75 chars per line.
> 

Acked-by: Hanjun Guo <guohanjun@huawei.com>

Lorenzo, will this patch go via ARM64 tree?

Thanks
Hanjun


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
@ 2022-07-26  6:54   ` Hanjun Guo
  0 siblings, 0 replies; 6+ messages in thread
From: Hanjun Guo @ 2022-07-26  6:54 UTC (permalink / raw)
  To: Ren Zhijie, lpieralisi, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, jroedel, robin.murphy
  Cc: linux-acpi, linux-arm-kernel, linux-kernel

On 2022/7/26 11:35, Ren Zhijie wrote:
> If CONFIG_ACPI_IORT=y and CONFIG_IOMMU_API is not set,
> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-,
> will be failed, like this:
> 
> drivers/acpi/arm64/iort.c: In function ‘iort_get_rmr_sids’:
> drivers/acpi/arm64/iort.c:1406:2: error: implicit declaration of function ‘iort_iommu_rmr_get_resv_regions’; did you mean ‘iort_iommu_get_resv_regions’? [-Werror=implicit-function-declaration]
>    iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    iort_iommu_get_resv_regions
> cc1: some warnings being treated as errors
> make[3]: *** [drivers/acpi/arm64/iort.o] Error 1
> 
> The function iort_iommu_rmr_get_resv_regions()
> is declared under CONFIG_IOMMU_API,
> and the callers of iort_get_rmr_sids() and iort_put_rmr_sids()
> would select IOMMU_API.
> 
> To fix this error, move the definitions to #ifdef CONFIG_IOMMU_API.
> 
> Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info directly")
> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
> ---
> Changes in v2:
>   - change commit message to a max of 75 chars per line.
> 

Acked-by: Hanjun Guo <guohanjun@huawei.com>

Lorenzo, will this patch go via ARM64 tree?

Thanks
Hanjun


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
  2022-07-26  6:54   ` Hanjun Guo
@ 2022-07-29  8:24     ` Joerg Roedel
  -1 siblings, 0 replies; 6+ messages in thread
From: Joerg Roedel @ 2022-07-29  8:24 UTC (permalink / raw)
  To: Hanjun Guo
  Cc: Ren Zhijie, lpieralisi, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, robin.murphy, linux-acpi,
	linux-arm-kernel, linux-kernel

On Tue, Jul 26, 2022 at 02:54:59PM +0800, Hanjun Guo wrote:
> Lorenzo, will this patch go via ARM64 tree?

No, this needs to go via IOMMU tree, as the problem is introduced there.

Patch is now applied, thanks.

-- 
Jörg Rödel
jroedel@suse.de

SUSE Software Solutions Germany GmbH
Frankenstraße 146
90461 Nürnberg
Germany

(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration
@ 2022-07-29  8:24     ` Joerg Roedel
  0 siblings, 0 replies; 6+ messages in thread
From: Joerg Roedel @ 2022-07-29  8:24 UTC (permalink / raw)
  To: Hanjun Guo
  Cc: Ren Zhijie, lpieralisi, sudeep.holla, rafael, lenb,
	shameerali.kolothum.thodi, robin.murphy, linux-acpi,
	linux-arm-kernel, linux-kernel

On Tue, Jul 26, 2022 at 02:54:59PM +0800, Hanjun Guo wrote:
> Lorenzo, will this patch go via ARM64 tree?

No, this needs to go via IOMMU tree, as the problem is introduced there.

Patch is now applied, thanks.

-- 
Jörg Rödel
jroedel@suse.de

SUSE Software Solutions Germany GmbH
Frankenstraße 146
90461 Nürnberg
Germany

(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-29  8:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-26  3:35 [PATCH v2 -next] ACPI/IORT: Fix build error implicit-function-declaration Ren Zhijie
2022-07-26  3:35 ` Ren Zhijie
2022-07-26  6:54 ` Hanjun Guo
2022-07-26  6:54   ` Hanjun Guo
2022-07-29  8:24   ` Joerg Roedel
2022-07-29  8:24     ` Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.