]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: fsl: cpm1: qmc: Fix dependency on fsl_soc.h
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Wed, 4 Sep 2024 07:51:09 +0000 (09:51 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 4 Sep 2024 09:30:53 +0000 (09:30 +0000)
QMC driver requires fsl_soc.h to use function get_immrbase().
This header is provided by powerpc architecture and the functions
it declares are defined only when FSL_SOC is selected.

Today the dependency is the following:

depends on CPM1 || QUICC_ENGINE || \
   (FSL_SOC && (CPM || QUICC_ENGINE) && COMPILE_TEST)

This dependency tentatively ensure that FSL_SOC is there when doing a
COMPILE_TEST.

CPM1 is only selected by PPC_8xx and cannot be selected manually.
CPM1 selects FSL_SOC

QUICC_ENGINE on the other hand can be selected by ARM or ARM64 which
doesn't select FSL_SOC. QUICC_ENGINE can also be selected with just
COMPILE_TEST.

It is therefore possible to end up with CPM_QMC selected
without FSL_SOC.

So fix it by making it depend on FSL_SOC at all time.

The rest of the above dependency is the same as the one for CPM_TSA on
which CPM_QMC also depends, so it can go away, leaving only a simple
dependency on FSL_SOC.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/lkml/20240904104859.020fe3a9@canb.auug.org.au/
Fixes: 8655b76b7004 ("soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Herve Codina <herve.codina@bootlin.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/fsl/qe/Kconfig

index 5e3c996eb19eb169c7918234278b8aa21485e155..eb03f42ab9781da0b1dfd86acf361e12e516961f 100644 (file)
@@ -48,8 +48,7 @@ config CPM_TSA
 config CPM_QMC
        tristate "CPM/QE QMC support"
        depends on OF && HAS_IOMEM
-       depends on CPM1 || QUICC_ENGINE || \
-                  (FSL_SOC && (CPM || QUICC_ENGINE) && COMPILE_TEST)
+       depends on FSL_SOC
        depends on CPM_TSA
        help
          Freescale CPM/QE QUICC Multichannel Controller