diff mbox series

arm64: defconfig: enable QoriQ dependencies as modules

Message ID 20200624140433.1631456-1-ardb@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64: defconfig: enable QoriQ dependencies as modules | expand

Commit Message

Ard Biesheuvel June 24, 2020, 2:04 p.m. UTC
The arm64 port adopts a single image policy, and therefore has a single
defconfig that should produce a kernel that can boot on any platform.
Given the shared nature, we typically enable tristate Kconfig options
as modules, unless there is a good reason to enable it as a builtin.

In the case of commit 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY
devices used on QorIQ boards"), this is not really the case, and the
various options are enabled as builtins as a convenience for the NXP
developers that actually work on such boards. This pulls in other
dependencies, such as CRYPTO_AES and CRYPTO_ECB (for MICROSEMI_PHY),
which themselves pull in other pieces of the crypto stack.

Since all the options that this commit enables are tristate, let's
switch them all to =m

Fixes: 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY devices used on QorIQ boards")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/arm64/configs/defconfig | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Arnd Bergmann June 24, 2020, 2:50 p.m. UTC | #1
On Wed, Jun 24, 2020 at 4:04 PM Ard Biesheuvel <ardb@kernel.org> wrote:
>
> The arm64 port adopts a single image policy, and therefore has a single
> defconfig that should produce a kernel that can boot on any platform.
> Given the shared nature, we typically enable tristate Kconfig options
> as modules, unless there is a good reason to enable it as a builtin.
>
> In the case of commit 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY
> devices used on QorIQ boards"), this is not really the case, and the
> various options are enabled as builtins as a convenience for the NXP
> developers that actually work on such boards. This pulls in other
> dependencies, such as CRYPTO_AES and CRYPTO_ECB (for MICROSEMI_PHY),
> which themselves pull in other pieces of the crypto stack.
>
> Since all the options that this commit enables are tristate, let's
> switch them all to =m
>
> Fixes: 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY devices used on QorIQ boards")
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Acked-by: Arnd Bergmann <arnd@arndb.de>

I assume it's sufficient to apply this in linux-5.9 rather than 5.8, right?

      Arnd
Ard Biesheuvel June 24, 2020, 2:55 p.m. UTC | #2
On Wed, 24 Jun 2020 at 16:51, Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Wed, Jun 24, 2020 at 4:04 PM Ard Biesheuvel <ardb@kernel.org> wrote:
> >
> > The arm64 port adopts a single image policy, and therefore has a single
> > defconfig that should produce a kernel that can boot on any platform.
> > Given the shared nature, we typically enable tristate Kconfig options
> > as modules, unless there is a good reason to enable it as a builtin.
> >
> > In the case of commit 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY
> > devices used on QorIQ boards"), this is not really the case, and the
> > various options are enabled as builtins as a convenience for the NXP
> > developers that actually work on such boards. This pulls in other
> > dependencies, such as CRYPTO_AES and CRYPTO_ECB (for MICROSEMI_PHY),
> > which themselves pull in other pieces of the crypto stack.
> >
> > Since all the options that this commit enables are tristate, let's
> > switch them all to =m
> >
> > Fixes: 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY devices used on QorIQ boards")
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
>
> I assume it's sufficient to apply this in linux-5.9 rather than 5.8, right?
>

Whatever you prefer.

Thanks,
Ard.
Leo Li June 24, 2020, 3:04 p.m. UTC | #3
> -----Original Message-----
> From: Ard Biesheuvel <ardb@kernel.org>
> Sent: Wednesday, June 24, 2020 9:05 AM
> To: linux-arm-kernel@lists.infradead.org
> Cc: arnd@arndb.de; olof@lixom.net; Leo Li <leoyang.li@nxp.com>; Ard
> Biesheuvel <ardb@kernel.org>
> Subject: [PATCH] arm64: defconfig: enable QoriQ dependencies as modules
> 
> The arm64 port adopts a single image policy, and therefore has a single
> defconfig that should produce a kernel that can boot on any platform.
> Given the shared nature, we typically enable tristate Kconfig options
> as modules, unless there is a good reason to enable it as a builtin.
> 
> In the case of commit 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY
> devices used on QorIQ boards"), this is not really the case, and the
> various options are enabled as builtins as a convenience for the NXP
> developers that actually work on such boards. This pulls in other
> dependencies, such as CRYPTO_AES and CRYPTO_ECB (for MICROSEMI_PHY),
> which themselves pull in other pieces of the crypto stack.

I agree that this makes it even worse to be enabled as built-in.  I will try to change the way of work for NXP developers.  If they really need these drivers to be built-in they will need to maintain a config fragment in private to do that.

> 
> Since all the options that this commit enables are tristate, let's
> switch them all to =m
> 
> Fixes: 97c1ed02f765bc89 ("arm64: defconfig: Enable PHY devices used on
> QorIQ boards")
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Acked-by: Li Yang <leoyang.li@nxp.com>

> ---
>  arch/arm64/configs/defconfig | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 883e8bace3ed..b0c5cf72a4c3 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -318,17 +318,17 @@ CONFIG_STMMAC_ETH=m
>  CONFIG_TI_K3_AM65_CPSW_NUSS=y
>  CONFIG_QCOM_IPA=m
>  CONFIG_MDIO_BUS_MUX_MMIOREG=y
> -CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
> -CONFIG_AQUANTIA_PHY=y
> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
> +CONFIG_AQUANTIA_PHY=m
>  CONFIG_MARVELL_PHY=m
>  CONFIG_MARVELL_10G_PHY=m
>  CONFIG_MESON_GXL_PHY=m
>  CONFIG_MICREL_PHY=y
> -CONFIG_MICROSEMI_PHY=y
> +CONFIG_MICROSEMI_PHY=m
>  CONFIG_AT803X_PHY=y
>  CONFIG_REALTEK_PHY=m
>  CONFIG_ROCKCHIP_PHY=y
> -CONFIG_VITESSE_PHY=y
> +CONFIG_VITESSE_PHY=m
>  CONFIG_USB_PEGASUS=m
>  CONFIG_USB_RTL8150=m
>  CONFIG_USB_RTL8152=m
> @@ -951,7 +951,7 @@ CONFIG_OPTEE=y
>  CONFIG_SLIMBUS=m
>  CONFIG_SLIM_QCOM_CTRL=m
>  CONFIG_SLIM_QCOM_NGD_CTRL=m
> -CONFIG_MUX_MMIO=y
> +CONFIG_MUX_MMIO=m
>  CONFIG_EXT2_FS=y
>  CONFIG_EXT3_FS=y
>  CONFIG_EXT4_FS_POSIX_ACL=y
> --
> 2.27.0
diff mbox series

Patch

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 883e8bace3ed..b0c5cf72a4c3 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -318,17 +318,17 @@  CONFIG_STMMAC_ETH=m
 CONFIG_TI_K3_AM65_CPSW_NUSS=y
 CONFIG_QCOM_IPA=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_AQUANTIA_PHY=y
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
+CONFIG_AQUANTIA_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_MARVELL_10G_PHY=m
 CONFIG_MESON_GXL_PHY=m
 CONFIG_MICREL_PHY=y
-CONFIG_MICROSEMI_PHY=y
+CONFIG_MICROSEMI_PHY=m
 CONFIG_AT803X_PHY=y
 CONFIG_REALTEK_PHY=m
 CONFIG_ROCKCHIP_PHY=y
-CONFIG_VITESSE_PHY=y
+CONFIG_VITESSE_PHY=m
 CONFIG_USB_PEGASUS=m
 CONFIG_USB_RTL8150=m
 CONFIG_USB_RTL8152=m
@@ -951,7 +951,7 @@  CONFIG_OPTEE=y
 CONFIG_SLIMBUS=m
 CONFIG_SLIM_QCOM_CTRL=m
 CONFIG_SLIM_QCOM_NGD_CTRL=m
-CONFIG_MUX_MMIO=y
+CONFIG_MUX_MMIO=m
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
 CONFIG_EXT4_FS_POSIX_ACL=y