All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephan Gerhold <stephan@gerhold.net>
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] firmware: qcom: scm: Don't break compile test on non-ARM platforms
Date: Mon, 25 Oct 2021 08:24:36 +0200	[thread overview]
Message-ID: <YXZNpLfU0eNbO7ic@gerhold.net> (raw)
In-Reply-To: <20211025025816.2937465-1-bjorn.andersson@linaro.org>

On Sun, Oct 24, 2021 at 07:58:16PM -0700, Bjorn Andersson wrote:
> The introduction of __qcom_scm_set_boot_addr_mc() relies on
> cpu_logical_map() and MPIDR_AFFINITY_LEVEL() from smp_plat.h, but only
> ARM and ARM64 has this include file, so the introduction of this
> dependency broke compile testing on e.g. x86_64.
> 
> Make the inclusion of smp_plat.h and the affected function depend on
> ARM || ARM64 to allow the code to still be compiled.
> 
> Fixes: 55845f46df03 ("firmware: qcom: scm: Add support for MC boot address API")
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Sorry about this, I have to say I'm rather surprised that qcom_scm can
be compiled at all on x86_64. It's just a wrapper around ARM SMCs that
don't exist on x86_64 either. :D
But knowing how quickly qcom_scm causes compile problems on random
kernel configurations I'm not going to suggest changing that...

So, this looks good to me. Thanks for fixing it. :)

> ---
>  drivers/firmware/qcom_scm.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
> index 7dd9e5e10f23..11464f6502be 100644
> --- a/drivers/firmware/qcom_scm.c
> +++ b/drivers/firmware/qcom_scm.c
> @@ -17,7 +17,9 @@
>  #include <linux/reset-controller.h>
>  #include <linux/arm-smccc.h>
>  
> +#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
>  #include <asm/smp_plat.h>
> +#endif
>  
>  #include "qcom_scm.h"
>  
> @@ -262,6 +264,7 @@ static bool __qcom_scm_is_call_available(struct device *dev, u32 svc_id,
>  	return ret ? false : !!res.result[0];
>  }
>  
> +#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
>  static int __qcom_scm_set_boot_addr_mc(void *entry, const cpumask_t *cpus,
>  				       unsigned int flags)
>  {
> @@ -290,6 +293,13 @@ static int __qcom_scm_set_boot_addr_mc(void *entry, const cpumask_t *cpus,
>  
>  	return qcom_scm_call(__scm->dev, &desc, NULL);
>  }
> +#else
> +static inline int __qcom_scm_set_boot_addr_mc(void *entry, const cpumask_t *cpus,
> +					      unsigned int flags)
> +{
> +	return -EINVAL;
> +}
> +#endif
>  
>  static int __qcom_scm_set_warm_boot_addr(void *entry, const cpumask_t *cpus)
>  {
> -- 
> 2.29.2
> 

  reply	other threads:[~2021-10-25  6:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-25  2:58 [PATCH] firmware: qcom: scm: Don't break compile test on non-ARM platforms Bjorn Andersson
2021-10-25  6:24 ` Stephan Gerhold [this message]
2021-10-25 20:20 ` patchwork-bot+linux-arm-msm

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=YXZNpLfU0eNbO7ic@gerhold.net \
    --to=stephan@gerhold.net \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.