Re: FW: [PATCH 2/2] ath10k: allow ATH10K_SNOC with COMPILE_TEST

From: Niklas Cassel
Date: Tue Jun 12 2018 - 08:44:13 EST


On Tue, Jun 12, 2018 at 06:02:48PM +0530, Govind Singh wrote:
> On 2018-06-12 17:45, Govind Singh wrote:
> > -----Original Message-----
> > From: ath10k <ath10k-bounces@xxxxxxxxxxxxxxxxxxx> On Behalf Of Niklas
> > Cassel
> > Sent: Tuesday, June 12, 2018 5:09 PM
> > To: Kalle Valo <kvalo@xxxxxxxxxxxxxx>; David S. Miller
> > <davem@xxxxxxxxxxxxx>
> > Cc: Niklas Cassel <niklas.cassel@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> > linux-wireless@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > ath10k@xxxxxxxxxxxxxxxxxxx
> > Subject: [PATCH 2/2] ath10k: allow ATH10K_SNOC with COMPILE_TEST
> >
> > ATH10K_SNOC builds just fine with COMPILE_TEST, so make that possible.
> >
> > Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxxxxx>
> > ---
> > drivers/net/wireless/ath/ath10k/Kconfig | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/wireless/ath/ath10k/Kconfig
> > b/drivers/net/wireless/ath/ath10k/Kconfig
> > index 54ff5930126c..6572a43590a8 100644
> > --- a/drivers/net/wireless/ath/ath10k/Kconfig
> > +++ b/drivers/net/wireless/ath/ath10k/Kconfig
> > @@ -42,7 +42,8 @@ config ATH10K_USB
> >
> > config ATH10K_SNOC
> > tristate "Qualcomm ath10k SNOC support (EXPERIMENTAL)"
> > - depends on ATH10K && ARCH_QCOM
> > + depends on ATH10K
> > + depends on ARCH_QCOM || COMPILE_TEST
> > ---help---
> > This module adds support for integrated WCN3990 chip connected
> > to system NOC(SNOC). Currently work in progress and will not
>
> Thanks Niklas for enabling COMPILE_TEST. With QMI set of
> changes(https://patchwork.kernel.org/patch/10448183/), we need to enable
> COMPILE_TEST for
> QCOM_SCM/QMI_HELPERS which seems broken today. Are you planning to fix the
> same.


Argh..

qcom_scm seems fine, it is just missing a single definition in the
#else clause of include/linux/qcom_scm.h.

+++ b/include/linux/qcom_scm.h
@@ -89,6 +89,10 @@ static inline int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr,
static inline int
qcom_scm_pas_auth_and_reset(u32 peripheral) { return -ENODEV; }
static inline int qcom_scm_pas_shutdown(u32 peripheral) { return -ENODEV; }
+static inline int qcom_scm_assign_mem(phys_addr_t mem_addr, size_t mem_sz,
+ unsigned int *src,
+ struct qcom_scm_vmperm *newvm,
+ int dest_cnt) { return -ENODEV; }
static inline void qcom_scm_cpu_power_down(u32 flags) {}
static inline u32 qcom_scm_get_version(void) { return 0; }



include/linux/soc/qcom/qmi.h on the other hand doesn't have any
dummy defintions at all.
I think that it makes sense to be able to compile test
the QMI helpers also on other archs..

Bjorn, any opinion?


>
> config QCOM_SCM
> bool
> - depends on ARM || ARM64
> + depends on ARM || ARM64 || COMPILE_TEST
> select RESET_CONTROLLER
>
>
> config QCOM_SCM_64
> def_bool y
> - depends on QCOM_SCM && ARM64
> + depends on QCOM_SCM && ARM64 || COMPILE_TEST
>
> config QCOM_QMI_HELPERS
> tristate
> - depends on ARCH_QCOM && NET
> + depends on (ARCH_QCOM || COMPILE_TEST) && NET
>
> -obj-$(CONFIG_ARCH_QCOM) += qcom/
> +obj-y += qcom/
>
> __qcom_scm_init/qcom_scm_call wrapper to support COMPILE_TEST.
>
>
>
> BR,
> Govind