diff mbox

[5/5] soc: qcom: Remove depends on ARCH_QCOM

Message ID 20180613125401.11734-6-niklas.cassel@linaro.org (mailing list archive)
State Superseded, archived
Delegated to: Andy Gross
Headers show

Commit Message

Niklas Cassel June 13, 2018, 12:54 p.m. UTC
Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
we unconditionally include the soc/qcom/Makefile.

This opens up the possibility to compile test the code even when
building for other architectures.

Remove the depends on ARCH_QCOM for all Kconfigs, except for
two Kconfigs that depend on QCOM_SCM, since that triggers lots of build
errors in qcom_scm. However, that shouldn't stop us from removing
it from those where it is possible.

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
---
 drivers/soc/qcom/Kconfig | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

Comments

Niklas Cassel June 13, 2018, 1:48 p.m. UTC | #1
On Wed, Jun 13, 2018 at 02:54:00PM +0200, Niklas Cassel wrote:
> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
> we unconditionally include the soc/qcom/Makefile.
> 
> This opens up the possibility to compile test the code even when
> building for other architectures.
> 
> Remove the depends on ARCH_QCOM for all Kconfigs, except for
> two Kconfigs that depend on QCOM_SCM, since that triggers lots of build
> errors in qcom_scm. However, that shouldn't stop us from removing
> it from those where it is possible.
> 
> Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
> ---
>  drivers/soc/qcom/Kconfig | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
> index 1d4a9f3ada8c..8c83025c466e 100644
> --- a/drivers/soc/qcom/Kconfig
> +++ b/drivers/soc/qcom/Kconfig
> @@ -5,7 +5,7 @@ menu "Qualcomm SoC drivers"
>  
>  config QCOM_COMMAND_DB
>  	bool "Qualcomm Command DB"
> -	depends on (ARCH_QCOM && OF) || COMPILE_TEST
> +	depends on OF || COMPILE_TEST
>  	help
>  	  Command DB queries shared memory by key string for shared system
>  	  resources. Platform drivers that require to set state of a shared
> @@ -14,7 +14,6 @@ config QCOM_COMMAND_DB
>  
>  config QCOM_GENI_SE
>  	tristate "QCOM GENI Serial Engine Driver"
> -	depends on ARCH_QCOM || COMPILE_TEST
>  	help
>  	  This driver is used to manage Generic Interface (GENI) firmware based
>  	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
> @@ -32,7 +31,6 @@ config QCOM_GLINK_SSR
>  
>  config QCOM_GSBI
>          tristate "QCOM General Serial Bus Interface"
> -        depends on ARCH_QCOM
>          select MFD_SYSCON
>          help
>            Say y here to enable GSBI support.  The GSBI provides control
> @@ -55,7 +53,7 @@ config QCOM_PM
>  
>  config QCOM_QMI_HELPERS
>  	tristate
> -	depends on ARCH_QCOM && NET
> +	depends on NET
>  	help
>  	  Helper library for handling QMI encoded messages.  QMI encoded
>  	  messages are used in communication between the majority of QRTR
> @@ -76,7 +74,6 @@ config QCOM_RMTFS_MEM
>  
>  config QCOM_SMEM
>  	tristate "Qualcomm Shared Memory Manager (SMEM)"
> -	depends on ARCH_QCOM
>  	depends on HWSPINLOCK
>  	help
>  	  Say y here to enable support for the Qualcomm Shared Memory Manager.
> @@ -85,7 +82,6 @@ config QCOM_SMEM
>  
>  config QCOM_SMD_RPM
>  	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
> -	depends on ARCH_QCOM
>  	depends on RPMSG && OF
>  	help
>  	  If you say yes to this option, support will be included for the
> @@ -122,7 +118,6 @@ config QCOM_SMSM
>  
>  config QCOM_WCNSS_CTRL
>  	tristate "Qualcomm WCNSS control driver"
> -	depends on ARCH_QCOM
>  	depends on RPMSG
>  	help
>  	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
> @@ -130,7 +125,6 @@ config QCOM_WCNSS_CTRL
>  
>  config QCOM_APR
>  	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
> -	depends on ARCH_QCOM
>  	depends on RPMSG
>  	help
>            Enable APR IPC protocol support between


Hello Andy

It seems like QCOM_APR is from Mark Brown's tree,
so just a heads up that you might get a conflict when applying.

Kind regards,
Niklas
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
kernel test robot June 13, 2018, 4:51 p.m. UTC | #2
Hi Niklas,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Niklas-Cassel/soc-qcom-remove-depends-on-ARCH_QCOM/20180613-205858
config: sparc64-allyesconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
   `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
   `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
   `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
   sound/soc/qcom/qdsp6/q6afe.o: In function `q6afe_remove':
>> q6afe.c:(.text+0xe3c): undefined reference to `of_platform_device_destroy'
   sound/soc/qcom/qdsp6/q6afe.o: In function `q6afe_probe':
>> q6afe.c:(.text+0xf00): undefined reference to `of_platform_device_create'
   sound/soc/qcom/qdsp6/q6adm.o: In function `q6adm_remove':
>> q6adm.c:(.text+0xa9c): undefined reference to `of_platform_device_destroy'
   sound/soc/qcom/qdsp6/q6adm.o: In function `q6adm_probe':
>> q6adm.c:(.text+0xb78): undefined reference to `of_platform_device_create'
   sound/soc/qcom/qdsp6/q6asm.o: In function `q6asm_remove':
>> q6asm.c:(.text+0x173c): undefined reference to `of_platform_device_destroy'
   sound/soc/qcom/qdsp6/q6asm.o: In function `q6asm_probe':
>> q6asm.c:(.text+0x17f4): undefined reference to `of_platform_device_create'

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot June 13, 2018, 9:44 p.m. UTC | #3
Hi Niklas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Niklas-Cassel/soc-qcom-remove-depends-on-ARCH_QCOM/20180613-205858
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:91:15: sparse: expression using sizeof(void)
>> /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:91:15: sparse: expression using sizeof(void)
>> /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:93:50: sparse: incorrect type in argument 2 (different address spaces) @@    expected void const [noderef] <asn:2>*from @@    got sn:2>*from @@
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:93:50:    expected void const [noderef] <asn:2>*from
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:93:50:    got void *
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:98:49: sparse: incorrect type in argument 2 (different address spaces) @@    expected void const [noderef] <asn:2>*from @@    got sn:2>*from @@
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:98:49:    expected void const [noderef] <asn:2>*from
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:98:49:    got void *fifo
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:147:15: sparse: expression using sizeof(void)
   /kbuild/src/sparse/drivers/rpmsg/qcom_glink_smem.c:147:15: sparse: expression using sizeof(void)
--
>> drivers/clk/qcom/clk-smd-rpm.c:250:23: sparse: expression using sizeof(void)
>> drivers/clk/qcom/clk-smd-rpm.c:250:23: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:259:22: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:259:22: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:333:23: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:333:23: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:338:22: sparse: expression using sizeof(void)
   drivers/clk/qcom/clk-smd-rpm.c:338:22: sparse: expression using sizeof(void)
--
   /kbuild/src/sparse/drivers/soc/qcom/smd-rpm.c:182:31: sparse: expression using sizeof(void)
>> /kbuild/src/sparse/drivers/soc/qcom/smd-rpm.c:183:47: sparse: incorrect type in argument 2 (different address spaces) @@    expected void const volatile [noderef] <asn:2>*addr @@    got le [noderef] <asn:2>*addr @@
   /kbuild/src/sparse/drivers/soc/qcom/smd-rpm.c:183:47:    expected void const volatile [noderef] <asn:2>*addr
   /kbuild/src/sparse/drivers/soc/qcom/smd-rpm.c:183:47:    got unsigned char const *<noident>
--
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:418:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_header *header @@    got voistruct smem_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:418:16:    expected struct smem_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:418:16:    got void [noderef] <asn:2>*virt_base
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:503:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_header *header @@    got voistruct smem_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:503:16:    expected struct smem_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:503:16:    got void [noderef] <asn:2>*virt_base
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:516:48: sparse: incorrect type in return expression (different address spaces) @@    expected void * @@    got void [noderef] <avoid * @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:516:48:    expected void *
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:516:48:    got void [noderef] <asn:2>*
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:651:24: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_header *header @@    got voistruct smem_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:651:24:    expected struct smem_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:651:24:    got void [noderef] <asn:2>*virt_base
>> /kbuild/src/sparse/drivers/soc/qcom/smem.c:673:23: sparse: incompatible types in comparison expression (different address spaces)
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:675:23: sparse: incompatible types in comparison expression (different address spaces)
>> /kbuild/src/sparse/drivers/soc/qcom/smem.c:676:40: sparse: subtraction of different types can't work (different address spaces)
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:691:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_header *header @@    got voistruct smem_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:691:16:    expected struct smem_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:691:16:    got void [noderef] <asn:2>*virt_base
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:702:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_ptable *ptable @@    got voistruct smem_ptable *ptable @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:702:16:    expected struct smem_ptable *ptable
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:702:16:    got void [noderef] <asn:2>*
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:724:57: sparse: restricted __le32 degrades to integer
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:765:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_partition_header *header @@    got smem_partition_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:765:16:    expected struct smem_partition_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:765:16:    got void [noderef] <asn:2>*
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:844:24: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_partition_header *header @@    got smem_partition_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:844:24:    expected struct smem_partition_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:844:24:    got void [noderef] <asn:2>*
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:943:16: sparse: incorrect type in assignment (different address spaces) @@    expected struct smem_header *header @@    got voistruct smem_header *header @@
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:943:16:    expected struct smem_header *header
   /kbuild/src/sparse/drivers/soc/qcom/smem.c:943:16:    got void [noderef] <asn:2>*virt_base

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vivek Gautam June 14, 2018, 6:35 a.m. UTC | #4
On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:
> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
> we unconditionally include the soc/qcom/Makefile.
>
> This opens up the possibility to compile test the code even when
> building for other architectures.

Why do we want to do this when all of it is qcom specific?
Besides wouldn't this increase the binary size for other platforms

>
> Remove the depends on ARCH_QCOM for all Kconfigs, except for
> two Kconfigs that depend on QCOM_SCM, since that triggers lots of build
> errors in qcom_scm. However, that shouldn't stop us from removing
> it from those where it is possible.
>
> Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
> ---
>  drivers/soc/qcom/Kconfig | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
> index 1d4a9f3ada8c..8c83025c466e 100644
> --- a/drivers/soc/qcom/Kconfig
> +++ b/drivers/soc/qcom/Kconfig
> @@ -5,7 +5,7 @@ menu "Qualcomm SoC drivers"
>
>  config QCOM_COMMAND_DB
>         bool "Qualcomm Command DB"
> -       depends on (ARCH_QCOM && OF) || COMPILE_TEST
> +       depends on OF || COMPILE_TEST
>         help
>           Command DB queries shared memory by key string for shared system
>           resources. Platform drivers that require to set state of a shared
> @@ -14,7 +14,6 @@ config QCOM_COMMAND_DB
>
>  config QCOM_GENI_SE
>         tristate "QCOM GENI Serial Engine Driver"
> -       depends on ARCH_QCOM || COMPILE_TEST
>         help
>           This driver is used to manage Generic Interface (GENI) firmware based
>           Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
> @@ -32,7 +31,6 @@ config QCOM_GLINK_SSR
>
>  config QCOM_GSBI
>          tristate "QCOM General Serial Bus Interface"
> -        depends on ARCH_QCOM
>          select MFD_SYSCON
>          help
>            Say y here to enable GSBI support.  The GSBI provides control
> @@ -55,7 +53,7 @@ config QCOM_PM
>
>  config QCOM_QMI_HELPERS
>         tristate
> -       depends on ARCH_QCOM && NET
> +       depends on NET
>         help
>           Helper library for handling QMI encoded messages.  QMI encoded
>           messages are used in communication between the majority of QRTR
> @@ -76,7 +74,6 @@ config QCOM_RMTFS_MEM
>
>  config QCOM_SMEM
>         tristate "Qualcomm Shared Memory Manager (SMEM)"
> -       depends on ARCH_QCOM
>         depends on HWSPINLOCK
>         help
>           Say y here to enable support for the Qualcomm Shared Memory Manager.
> @@ -85,7 +82,6 @@ config QCOM_SMEM
>
>  config QCOM_SMD_RPM
>         tristate "Qualcomm Resource Power Manager (RPM) over SMD"
> -       depends on ARCH_QCOM
>         depends on RPMSG && OF
>         help
>           If you say yes to this option, support will be included for the
> @@ -122,7 +118,6 @@ config QCOM_SMSM
>
>  config QCOM_WCNSS_CTRL
>         tristate "Qualcomm WCNSS control driver"
> -       depends on ARCH_QCOM
>         depends on RPMSG
>         help
>           Client driver for the WCNSS_CTRL SMD channel, used to download nv
> @@ -130,7 +125,6 @@ config QCOM_WCNSS_CTRL
>
>  config QCOM_APR
>         tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
> -       depends on ARCH_QCOM
>         depends on RPMSG
>         help
>            Enable APR IPC protocol support between
> --
> 2.17.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vivek Gautam June 14, 2018, 6:38 a.m. UTC | #5
On Thu, Jun 14, 2018 at 12:05 PM, Vivek Gautam
<vivek.gautam@codeaurora.org> wrote:
> On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:
>> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
>> we unconditionally include the soc/qcom/Makefile.
>>
>> This opens up the possibility to compile test the code even when
>> building for other architectures.
>
> Why do we want to do this when all of it is qcom specific?
> Besides, wouldn't this increase the binary size for other platforms.

Sorry, my bad. Send the message without completing.

Besides above points, the COMPILE_TEST flag should allow you
to compile test all of these drivers. If COMPILE_TEST is missing
in some of the configs, we should try adding that.
Or, is there anything that I am missing here for the intention of this patch?

Thanks & Regards
Vivek

>
>>
>> Remove the depends on ARCH_QCOM for all Kconfigs, except for
>> two Kconfigs that depend on QCOM_SCM, since that triggers lots of build
>> errors in qcom_scm. However, that shouldn't stop us from removing
>> it from those where it is possible.
>>
>> Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
>> ---
>>  drivers/soc/qcom/Kconfig | 10 ++--------
>>  1 file changed, 2 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
>> index 1d4a9f3ada8c..8c83025c466e 100644
>> --- a/drivers/soc/qcom/Kconfig
>> +++ b/drivers/soc/qcom/Kconfig
>> @@ -5,7 +5,7 @@ menu "Qualcomm SoC drivers"
>>
>>  config QCOM_COMMAND_DB
>>         bool "Qualcomm Command DB"
>> -       depends on (ARCH_QCOM && OF) || COMPILE_TEST
>> +       depends on OF || COMPILE_TEST
>>         help
>>           Command DB queries shared memory by key string for shared system
>>           resources. Platform drivers that require to set state of a shared
>> @@ -14,7 +14,6 @@ config QCOM_COMMAND_DB
>>
>>  config QCOM_GENI_SE
>>         tristate "QCOM GENI Serial Engine Driver"
>> -       depends on ARCH_QCOM || COMPILE_TEST
>>         help
>>           This driver is used to manage Generic Interface (GENI) firmware based
>>           Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
>> @@ -32,7 +31,6 @@ config QCOM_GLINK_SSR
>>
>>  config QCOM_GSBI
>>          tristate "QCOM General Serial Bus Interface"
>> -        depends on ARCH_QCOM
>>          select MFD_SYSCON
>>          help
>>            Say y here to enable GSBI support.  The GSBI provides control
>> @@ -55,7 +53,7 @@ config QCOM_PM
>>
>>  config QCOM_QMI_HELPERS
>>         tristate
>> -       depends on ARCH_QCOM && NET
>> +       depends on NET
>>         help
>>           Helper library for handling QMI encoded messages.  QMI encoded
>>           messages are used in communication between the majority of QRTR
>> @@ -76,7 +74,6 @@ config QCOM_RMTFS_MEM
>>
>>  config QCOM_SMEM
>>         tristate "Qualcomm Shared Memory Manager (SMEM)"
>> -       depends on ARCH_QCOM
>>         depends on HWSPINLOCK
>>         help
>>           Say y here to enable support for the Qualcomm Shared Memory Manager.
>> @@ -85,7 +82,6 @@ config QCOM_SMEM
>>
>>  config QCOM_SMD_RPM
>>         tristate "Qualcomm Resource Power Manager (RPM) over SMD"
>> -       depends on ARCH_QCOM
>>         depends on RPMSG && OF
>>         help
>>           If you say yes to this option, support will be included for the
>> @@ -122,7 +118,6 @@ config QCOM_SMSM
>>
>>  config QCOM_WCNSS_CTRL
>>         tristate "Qualcomm WCNSS control driver"
>> -       depends on ARCH_QCOM
>>         depends on RPMSG
>>         help
>>           Client driver for the WCNSS_CTRL SMD channel, used to download nv
>> @@ -130,7 +125,6 @@ config QCOM_WCNSS_CTRL
>>
>>  config QCOM_APR
>>         tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
>> -       depends on ARCH_QCOM
>>         depends on RPMSG
>>         help
>>            Enable APR IPC protocol support between
>> --
>> 2.17.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
>
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
Niklas Cassel June 14, 2018, 8:31 a.m. UTC | #6
On Thu, Jun 14, 2018 at 12:08:10PM +0530, Vivek Gautam wrote:
> On Thu, Jun 14, 2018 at 12:05 PM, Vivek Gautam
> <vivek.gautam@codeaurora.org> wrote:
> > On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:
> >> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
> >> we unconditionally include the soc/qcom/Makefile.
> >>
> >> This opens up the possibility to compile test the code even when
> >> building for other architectures.
> >
> > Why do we want to do this when all of it is qcom specific?
> > Besides, wouldn't this increase the binary size for other platforms.

To be able to compile test drivers that select some of these Kconfigs,
even when building for other architectures.

The binary size shouldn't increase if they don't enable these Kconfigs.

> 
> Sorry, my bad. Send the message without completing.
> 
> Besides above points, the COMPILE_TEST flag should allow you
> to compile test all of these drivers. If COMPILE_TEST is missing
> in some of the configs, we should try adding that.
> Or, is there anything that I am missing here for the intention of this patch?

That is another alternative.
So either make sure that all these Kconfigs
have "depends on ARCH_QCOM || COMPILE_TEST",
or
remove ARCH_QCOM from these Kconfigs.

A third, and perhaps best alternative is to do like
drivers/soc/mediatek/Kconfig

menu "MediaTek SoC drivers"
    depends on ARCH_MEDIATEK || COMPILE_TEST

Make sure that our root menu entry depends on ARCH_QCOM || COMPILE_TEST,
that way we could remove ARCH_QCOM for all Kconfigs.

Thoughts?


Regards,
Niklas
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vivek Gautam June 14, 2018, 10:24 a.m. UTC | #7
Hi NIklas,


On 6/14/2018 2:01 PM, Niklas Cassel wrote:
> On Thu, Jun 14, 2018 at 12:08:10PM +0530, Vivek Gautam wrote:
>> On Thu, Jun 14, 2018 at 12:05 PM, Vivek Gautam
>> <vivek.gautam@codeaurora.org> wrote:
>>> On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:
>>>> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
>>>> we unconditionally include the soc/qcom/Makefile.
>>>>
>>>> This opens up the possibility to compile test the code even when
>>>> building for other architectures.
>>> Why do we want to do this when all of it is qcom specific?
>>> Besides, wouldn't this increase the binary size for other platforms.
> To be able to compile test drivers that select some of these Kconfigs,
> even when building for other architectures.

Are these other drivers which select these Kconfigs not QCOM dependent?
We should make them so if that's not the case, and also add COMPILE_TEST
for them too.

>
> The binary size shouldn't increase if they don't enable these Kconfigs.
>
>> Sorry, my bad. Send the message without completing.
>>
>> Besides above points, the COMPILE_TEST flag should allow you
>> to compile test all of these drivers. If COMPILE_TEST is missing
>> in some of the configs, we should try adding that.
>> Or, is there anything that I am missing here for the intention of this patch?
> That is another alternative.
> So either make sure that all these Kconfigs
> have "depends on ARCH_QCOM || COMPILE_TEST",
> or
> remove ARCH_QCOM from these Kconfigs.
>
> A third, and perhaps best alternative is to do like
> drivers/soc/mediatek/Kconfig
>
> menu "MediaTek SoC drivers"
>      depends on ARCH_MEDIATEK || COMPILE_TEST
>
> Make sure that our root menu entry depends on ARCH_QCOM || COMPILE_TEST,
> that way we could remove ARCH_QCOM for all Kconfigs.
>
> Thoughts?

To me the first and third approach look same. So I will leave it to Andy 
to decide
which is cleaner.
For 2nd option, I would still say that there shouldn't be a need for 
these drivers
to be compiled outside of the ARCH_QCOM, besides for compile test purpose.

Thanks & Regards
Vivek

>
>
> Regards,
> Niklas
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 1d4a9f3ada8c..8c83025c466e 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -5,7 +5,7 @@  menu "Qualcomm SoC drivers"
 
 config QCOM_COMMAND_DB
 	bool "Qualcomm Command DB"
-	depends on (ARCH_QCOM && OF) || COMPILE_TEST
+	depends on OF || COMPILE_TEST
 	help
 	  Command DB queries shared memory by key string for shared system
 	  resources. Platform drivers that require to set state of a shared
@@ -14,7 +14,6 @@  config QCOM_COMMAND_DB
 
 config QCOM_GENI_SE
 	tristate "QCOM GENI Serial Engine Driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	help
 	  This driver is used to manage Generic Interface (GENI) firmware based
 	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
@@ -32,7 +31,6 @@  config QCOM_GLINK_SSR
 
 config QCOM_GSBI
         tristate "QCOM General Serial Bus Interface"
-        depends on ARCH_QCOM
         select MFD_SYSCON
         help
           Say y here to enable GSBI support.  The GSBI provides control
@@ -55,7 +53,7 @@  config QCOM_PM
 
 config QCOM_QMI_HELPERS
 	tristate
-	depends on ARCH_QCOM && NET
+	depends on NET
 	help
 	  Helper library for handling QMI encoded messages.  QMI encoded
 	  messages are used in communication between the majority of QRTR
@@ -76,7 +74,6 @@  config QCOM_RMTFS_MEM
 
 config QCOM_SMEM
 	tristate "Qualcomm Shared Memory Manager (SMEM)"
-	depends on ARCH_QCOM
 	depends on HWSPINLOCK
 	help
 	  Say y here to enable support for the Qualcomm Shared Memory Manager.
@@ -85,7 +82,6 @@  config QCOM_SMEM
 
 config QCOM_SMD_RPM
 	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
-	depends on ARCH_QCOM
 	depends on RPMSG && OF
 	help
 	  If you say yes to this option, support will be included for the
@@ -122,7 +118,6 @@  config QCOM_SMSM
 
 config QCOM_WCNSS_CTRL
 	tristate "Qualcomm WCNSS control driver"
-	depends on ARCH_QCOM
 	depends on RPMSG
 	help
 	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
@@ -130,7 +125,6 @@  config QCOM_WCNSS_CTRL
 
 config QCOM_APR
 	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
-	depends on ARCH_QCOM
 	depends on RPMSG
 	help
           Enable APR IPC protocol support between