diff mbox series

[v2,2/6] ARM: config: multi v7: Clean up enabled by default options

Message ID 20210610035412.93682-3-joel@jms.id.au (mailing list archive)
State New, archived
Headers show
Series ARM: config: Refresh multi v7 | expand

Commit Message

Joel Stanley June 10, 2021, 3:54 a.m. UTC
A number of options in the defconfig are enabled by other options;
either through selects or defaults.

SECCOMP is on by default as of commit 282a181b1a0d ("seccomp: Move config
option SECCOMP to arch/Kconfig").

NET_SWITCHDEV is enabled by NET_DSA. I think this is a result of commit
227d72063fcc ("dsa: simplify Kconfig symbols and dependencies").

SIMPLE_PM_BUS is selected ARCH_OMAP2PLUS as of commit 2a39af3870e9 ("ARM:
OMAP2+: Fix booting for am335x after moving to simple-pm-bus").

MICREL_PHY is selected by the ks8851 ethernet driver as of f0791b92d2b6 ("net:
ks8851: Select PHYLIB and MICREL_PHY in Kconfig").

SMSC_PHY is selected by USB_NET_SMSC95XX as of commit 05b35e7eb9a1 ("smsc95xx:
add phylib support").

PTP_1588_CLOCK is implied by enabled drivers STMMAC_ETH, IGB, E1000E and FEC.

STMPE_I2C is default y. It was explicitly added to the defconfig in commit
d8f0ddc83877 ("ARM: defconfig: add STMPE ADC driver for P4 Note") but it's not
required.

CLK_ACTIONS and CLK_OWL_S500 was explicitly added in commit 26ba4a474aec ("ARM:
multi_v7_defconfig: Enable Actions Semi platform and drivers"), but it defaults
on when ARCH_ACTIONS is enabled. Drop them.

CROS_EC_CHARDEV defaults to MFD_CROS_EC_DEV, which defaults to CROS_EC since
commit 2fa2b980e3fe ("mfd / platform: cros_ec: Rename config to a better name").

TEGRA20_APB_DMA is selected by SOC_TEGRA_FUSE if ARCH_TEGRA_2x_SOC since commit
19d41e5e9c68 ("soc/tegra: fuse: Add APB DMA dependency for Tegra20").

USB_CHIPIDEA_TEGRA is enabled when USB_CHIPIDEA is enabled. It falls out
of the defconfig but is enabled, as intended by d50229cee69b ("ARM:
multi_v7_defconfig: Stop using deprecated USB_EHCI_TEGRA").

SERIAL_OWL_CONSOLE defaults to on when SERIAL_OWL=y, and has since it
was introduced.

Commit c6774ee035dc ("media: Kconfig: make filtering devices optional")
made MEDIA_PLATFORM_SUPPORT, MEDIA_CAMERA_SUPPORT and MEDIA_CEC_SUPPORT
default y if MEDIA_SUPPORT_FILTER is disabled, so they fall out of the
defconfig.

MEDIA_CONTROLLER is selected by a number of drivers in the config, and
additionally defaults to MEDIA_PLATFORM_SUPPORT which is enabled.

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 arch/arm/configs/multi_v7_defconfig | 20 --------------------
 1 file changed, 20 deletions(-)

Comments

Arnd Bergmann June 10, 2021, 7:56 a.m. UTC | #1
On Thu, Jun 10, 2021 at 5:54 AM Joel Stanley <joel@jms.id.au> wrote:
>
> A number of options in the defconfig are enabled by other options;
> either through selects or defaults.
>
> SECCOMP is on by default as of commit 282a181b1a0d ("seccomp: Move config
> option SECCOMP to arch/Kconfig").
>
> NET_SWITCHDEV is enabled by NET_DSA. I think this is a result of commit
> 227d72063fcc ("dsa: simplify Kconfig symbols and dependencies").
>
> SIMPLE_PM_BUS is selected ARCH_OMAP2PLUS as of commit 2a39af3870e9 ("ARM:
> OMAP2+: Fix booting for am335x after moving to simple-pm-bus").
>
> MICREL_PHY is selected by the ks8851 ethernet driver as of f0791b92d2b6 ("net:
> ks8851: Select PHYLIB and MICREL_PHY in Kconfig").
>
> SMSC_PHY is selected by USB_NET_SMSC95XX as of commit 05b35e7eb9a1 ("smsc95xx:
> add phylib support").
>
> PTP_1588_CLOCK is implied by enabled drivers STMMAC_ETH, IGB, E1000E and FEC.

I still feel a little uneasy about not enabling PTP_1588_CLOCK in case
we get rid of that
'imply', the rest looks good.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Joel Stanley June 11, 2021, 3:29 a.m. UTC | #2
On Thu, 10 Jun 2021 at 07:58, Arnd Bergmann <arnd@arndb.de> wrote:

> > PTP_1588_CLOCK is implied by enabled drivers STMMAC_ETH, IGB, E1000E and FEC.
>
> I still feel a little uneasy about not enabling PTP_1588_CLOCK in case
> we get rid of that
> 'imply', the rest looks good.

If we got rid of the imply, would it become a select?

I realise that's bad form, but if these drivers need that functionality...

Happy to re-roll with that change dropped, just let me know.

Cheers,

Joel
Arnd Bergmann June 11, 2021, 10:14 a.m. UTC | #3
On Fri, Jun 11, 2021 at 5:29 AM Joel Stanley <joel@jms.id.au> wrote:
>
> On Thu, 10 Jun 2021 at 07:58, Arnd Bergmann <arnd@arndb.de> wrote:
>
> > > PTP_1588_CLOCK is implied by enabled drivers STMMAC_ETH, IGB, E1000E and FEC.
> >
> > I still feel a little uneasy about not enabling PTP_1588_CLOCK in case
> > we get rid of that
> > 'imply', the rest looks good.
>
> If we got rid of the imply, would it become a select?
>
> I realise that's bad form, but if these drivers need that functionality...

That would need some further discussion. I think we have two distinct
cases:

- some drivers can use the PTP_1588_CLOCK feature if that symbol
  is built-in, or both the driver and the ptp support are loadable modules.
  If the drivers are built-in, but PTP_1588_CLOCK=m, they currently
  silently break, which is unfortunate and often unexpected.
  The 'imply' keyword was originally intended to work around this
  problem but doesn't do that any more.

- Some drivers have a separate Kconfig symbol for enabling PTP
  support within a driver that is controlled separately. These tend to
  use 'depends on PTP_1588_CLOCK'.

I would hope that we can at least be consistent with 'select'
vs 'depends on' here, but either solution is possible.  One option
that would work is to have a global setting that decides whether
PTP support is available to drivers at all, and then another
symbol that gets selected by drivers to decide whether it ends
up built-in or in a loadable module.

> Happy to re-roll with that change dropped, just let me know.

That would be my preference, yes.

        Arnd
diff mbox series

Patch

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 88159ebad90d..de7cfb54cc63 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -95,7 +95,6 @@  CONFIG_ARCH_WM8850=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SMP=y
 CONFIG_NR_CPUS=16
-CONFIG_SECCOMP=y
 CONFIG_ARM_APPENDED_DTB=y
 CONFIG_ARM_ATAG_DTB_COMPAT=y
 CONFIG_KEXEC=y
@@ -155,7 +154,6 @@  CONFIG_INET6_IPCOMP=m
 CONFIG_IPV6_MIP6=m
 CONFIG_IPV6_TUNNEL=m
 CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_NET_SWITCHDEV=y
 CONFIG_NET_DSA=m
 CONFIG_CAN=y
 CONFIG_CAN_AT91=m
@@ -194,7 +192,6 @@  CONFIG_PCI_EPF_TEST=m
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_OMAP_OCP2SCP=y
-CONFIG_SIMPLE_PM_BUS=y
 CONFIG_MTD=y
 CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_BLOCK=y
@@ -278,12 +275,9 @@  CONFIG_TI_CPTS=y
 CONFIG_XILINX_EMACLITE=y
 CONFIG_BROADCOM_PHY=y
 CONFIG_ICPLUS_PHY=y
-CONFIG_DP83867_PHY=y
 CONFIG_MARVELL_PHY=y
-CONFIG_MICREL_PHY=y
 CONFIG_AT803X_PHY=y
 CONFIG_ROCKCHIP_PHY=y
-CONFIG_SMSC_PHY=y
 CONFIG_USB_PEGASUS=y
 CONFIG_USB_RTL8152=m
 CONFIG_USB_LAN78XX=m
@@ -374,7 +368,6 @@  CONFIG_SERIAL_ST_ASC_CONSOLE=y
 CONFIG_SERIAL_STM32=y
 CONFIG_SERIAL_STM32_CONSOLE=y
 CONFIG_SERIAL_OWL=y
-CONFIG_SERIAL_OWL_CONSOLE=y
 CONFIG_SERIAL_DEV_BUS=y
 CONFIG_VIRTIO_CONSOLE=y
 CONFIG_ASPEED_KCS_IPMI_BMC=m
@@ -441,7 +434,6 @@  CONFIG_SPI_TEGRA20_SLINK=y
 CONFIG_SPI_XILINX=y
 CONFIG_SPI_SPIDEV=y
 CONFIG_SPMI=y
-CONFIG_PTP_1588_CLOCK=y
 CONFIG_PINCTRL_AS3722=y
 CONFIG_PINCTRL_RZA2=y
 CONFIG_PINCTRL_STMFX=y
@@ -568,7 +560,6 @@  CONFIG_MFD_RK808=y
 CONFIG_MFD_RN5T618=y
 CONFIG_MFD_SEC_CORE=y
 CONFIG_MFD_STMPE=y
-CONFIG_STMPE_I2C=y
 CONFIG_MFD_PALMAS=y
 CONFIG_MFD_TPS65090=y
 CONFIG_MFD_TPS65217=y
@@ -625,10 +616,6 @@  CONFIG_REGULATOR_TWL4030=y
 CONFIG_REGULATOR_VEXPRESS=y
 CONFIG_REGULATOR_WM8994=m
 CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
 CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_V4L_PLATFORM_DRIVERS=y
@@ -774,7 +761,6 @@  CONFIG_SND_SOC_AK4642=m
 CONFIG_SND_SOC_CPCAP=m
 CONFIG_SND_SOC_CS42L51_I2C=m
 CONFIG_SND_SOC_SGTL5000=m
-CONFIG_SND_SOC_SPDIF=m
 CONFIG_SND_SOC_STI_SAS=m
 CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_AUDIO_GRAPH_CARD=m
@@ -810,7 +796,6 @@  CONFIG_USB_DWC2=y
 CONFIG_USB_CHIPIDEA=y
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_CHIPIDEA_TEGRA=y
 CONFIG_USB_ISP1760=y
 CONFIG_USB_HSIC_USB3503=y
 CONFIG_AB8500_USB=y
@@ -957,7 +942,6 @@  CONFIG_ST_FDMA=m
 CONFIG_STM32_DMA=y
 CONFIG_STM32_DMAMUX=y
 CONFIG_STM32_MDMA=y
-CONFIG_TEGRA20_APB_DMA=y
 CONFIG_UNIPHIER_MDMAC=y
 CONFIG_XILINX_DMA=y
 CONFIG_QCOM_BAM_DMA=y
@@ -973,15 +957,12 @@  CONFIG_SERIO_NVEC_PS2=y
 CONFIG_NVEC_POWER=y
 CONFIG_NVEC_PAZ00=y
 CONFIG_STAGING_BOARD=y
-CONFIG_MFD_CROS_EC_DEV=m
 CONFIG_CROS_EC_I2C=m
 CONFIG_CROS_EC_SPI=m
 CONFIG_COMMON_CLK_MAX77686=y
 CONFIG_COMMON_CLK_RK808=m
 CONFIG_COMMON_CLK_SCMI=y
 CONFIG_COMMON_CLK_S2MPS11=m
-CONFIG_CLK_ACTIONS=y
-CONFIG_CLK_OWL_S500=y
 CONFIG_CLK_RASPBERRYPI=y
 CONFIG_COMMON_CLK_QCOM=y
 CONFIG_QCOM_CLK_RPM=y
@@ -1169,4 +1150,3 @@  CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_FS=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CROS_EC=m
-CONFIG_CROS_EC_CHARDEV=m