All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
To: renzhijie <renzhijie2@huawei.com>,
	"lpieralisi@kernel.org" <lpieralisi@kernel.org>,
	"Guohanjun (Hanjun Guo)" <guohanjun@huawei.com>,
	"sudeep.holla@arm.com" <sudeep.holla@arm.com>,
	"rafael@kernel.org" <rafael@kernel.org>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"jroedel@suse.de" <jroedel@suse.de>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>
Cc: "linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"lorenzo.pieralisi@linaro.org" <lorenzo.pieralisi@linaro.org>
Subject: RE: [PATCH -next] ACPI/IORT: Fix build error implicit-function-declaration
Date: Mon, 25 Jul 2022 13:50:38 +0000	[thread overview]
Message-ID: <d59bc043788e4dc796a445588d667ab7@huawei.com> (raw)
In-Reply-To: <20220724115423.212932-1-renzhijie2@huawei.com>



> -----Original Message-----
> From: renzhijie
> Sent: 24 July 2022 12:54
> To: lpieralisi@kernel.org; Guohanjun (Hanjun Guo)
> <guohanjun@huawei.com>; sudeep.holla@arm.com; rafael@kernel.org;
> lenb@kernel.org; Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@huawei.com>; jroedel@suse.de;
> robin.murphy@arm.com
> Cc: linux-acpi@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; renzhijie <renzhijie2@huawei.com>
> Subject: [PATCH -next] ACPI/IORT: Fix build error
> implicit-function-declaration
> 
> 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

Thanks for spotting this.

> The function iort_iommu_rmr_get_resv_regions() is declared at #ifdef
> CONFIG_IOMMU_API area, 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 area.

That makes sense. And the only callers of these are SMMU drivers I think we
don't need stub functions under !CONFIG_IOMMU_API(Lorenzo, could you
please double check this). 

Nit: Please wrap the commit description to a max of 75 chars per line.

Thanks.
Shameer

> 
> Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info
> directly")
> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
> ---
>  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


WARNING: multiple messages have this Message-ID (diff)
From: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
To: renzhijie <renzhijie2@huawei.com>,
	"lpieralisi@kernel.org" <lpieralisi@kernel.org>,
	"Guohanjun (Hanjun Guo)" <guohanjun@huawei.com>,
	"sudeep.holla@arm.com" <sudeep.holla@arm.com>,
	"rafael@kernel.org" <rafael@kernel.org>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"jroedel@suse.de" <jroedel@suse.de>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>
Cc: "linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"lorenzo.pieralisi@linaro.org" <lorenzo.pieralisi@linaro.org>
Subject: RE: [PATCH -next] ACPI/IORT: Fix build error implicit-function-declaration
Date: Mon, 25 Jul 2022 13:50:38 +0000	[thread overview]
Message-ID: <d59bc043788e4dc796a445588d667ab7@huawei.com> (raw)
In-Reply-To: <20220724115423.212932-1-renzhijie2@huawei.com>



> -----Original Message-----
> From: renzhijie
> Sent: 24 July 2022 12:54
> To: lpieralisi@kernel.org; Guohanjun (Hanjun Guo)
> <guohanjun@huawei.com>; sudeep.holla@arm.com; rafael@kernel.org;
> lenb@kernel.org; Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@huawei.com>; jroedel@suse.de;
> robin.murphy@arm.com
> Cc: linux-acpi@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; renzhijie <renzhijie2@huawei.com>
> Subject: [PATCH -next] ACPI/IORT: Fix build error
> implicit-function-declaration
> 
> 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

Thanks for spotting this.

> The function iort_iommu_rmr_get_resv_regions() is declared at #ifdef
> CONFIG_IOMMU_API area, 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 area.

That makes sense. And the only callers of these are SMMU drivers I think we
don't need stub functions under !CONFIG_IOMMU_API(Lorenzo, could you
please double check this). 

Nit: Please wrap the commit description to a max of 75 chars per line.

Thanks.
Shameer

> 
> Fixes: e302eea8f497 ("ACPI/IORT: Add a helper to retrieve RMR info
> directly")
> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
> ---
>  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

  reply	other threads:[~2022-07-25 13:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-24 11:54 [PATCH -next] ACPI/IORT: Fix build error implicit-function-declaration Ren Zhijie
2022-07-24 11:54 ` Ren Zhijie
2022-07-25 13:50 ` Shameerali Kolothum Thodi [this message]
2022-07-25 13:50   ` Shameerali Kolothum Thodi
2022-07-26  2:53   ` Hanjun Guo
2022-07-26  2:53     ` Hanjun Guo
2022-07-26  3:22     ` Ren Zhijie
2022-07-26  3:22       ` Ren Zhijie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d59bc043788e4dc796a445588d667ab7@huawei.com \
    --to=shameerali.kolothum.thodi@huawei.com \
    --cc=guohanjun@huawei.com \
    --cc=jroedel@suse.de \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@linaro.org \
    --cc=lpieralisi@kernel.org \
    --cc=rafael@kernel.org \
    --cc=renzhijie2@huawei.com \
    --cc=robin.murphy@arm.com \
    --cc=sudeep.holla@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.