diff mbox

[2/2] ARM: multi_v7_defconfig: Make USB support modular

Message ID 1432637918-8946-2-git-send-email-geert+renesas@glider.be (mailing list archive)
State Rejected
Delegated to: Simon Horman
Headers show

Commit Message

Geert Uytterhoeven May 26, 2015, 10:58 a.m. UTC
Make USB support modular to reduce kernel size:

       text    data     bss     dec     hex   filename
    12979266 1433908  335640 14748814  e10c8e vmlinux.before
    12237024 1386396  333592 13957012  d4f794 vmlinux.after

USB_GSPCA, USB_EHCI_HCD_PLATFORM, USB_OHCI_HCD_PLATFORM, and
PHY_SAMSUNG_USB2 are now enabled automatically by Kconfig logic, so they
are dropped.

Tested on r8a7791/koelsch, which can't boot vmlinux.before anymore.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Against next-20150526
---
 arch/arm/configs/multi_v7_defconfig | 40 +++++++++++++++++--------------------
 1 file changed, 18 insertions(+), 22 deletions(-)

Comments

Geert Uytterhoeven May 27, 2015, 9:07 a.m. UTC | #1
Hi Laurent,

On Tue, May 26, 2015 at 2:26 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> On Tuesday 26 May 2015 12:58:38 Geert Uytterhoeven wrote:
>> Make USB support modular to reduce kernel size:
>
> This means we lose support for NFS root on USB-based ethernet controllers. I'm
> not sure that's a very good idea.

That's true...

Enabling the USB network drivers is one thing I can easily do myself.
But I don't know on which boards they are used, and which USB host
controller drivers are needed.

P.S. Strange, USB_NET_DRIVERS is tristate, but setting it to "y" doesn't
     mean all USB network drivers become builtin, as USB_NET_DRIVERS is never
     used in a "depends" construct...

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann May 27, 2015, 10:09 a.m. UTC | #2
On Wednesday 27 May 2015 11:07:15 Geert Uytterhoeven wrote:
> 
> P.S. Strange, USB_NET_DRIVERS is tristate, but setting it to "y" doesn't
>      mean all USB network drivers become builtin, as USB_NET_DRIVERS is never
>      used in a "depends" construct...
> 

The 'if USB_NET_DRIVERS' has the same effect as putting a 'depends on' in
each Kconfig option within.

However, it works the opposite way: if USB_NET_DRIVERS=m, the individual
drivers cannot by 'y', but if USB_NET_DRIVERS=y, they can be 'y', 'm' or 'n'.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" 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/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index e3fc9799972367c3..5df66b3671946378 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -215,10 +215,10 @@  CONFIG_SMSC_PHY=y
 CONFIG_BROADCOM_PHY=y
 CONFIG_ICPLUS_PHY=y
 CONFIG_MICREL_PHY=y
-CONFIG_USB_PEGASUS=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_SMSC75XX=y
-CONFIG_USB_NET_SMSC95XX=y
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
 CONFIG_BRCMFMAC=m
 CONFIG_RT2X00=m
 CONFIG_RT2800USB=m
@@ -417,8 +417,7 @@  CONFIG_MEDIA_CAMERA_SUPPORT=y
 CONFIG_MEDIA_CONTROLLER=y
 CONFIG_VIDEO_V4L2_SUBDEV_API=y
 CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=y
-CONFIG_USB_GSPCA=y
+CONFIG_USB_VIDEO_CLASS=m
 CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_SOC_CAMERA=m
 CONFIG_SOC_CAMERA_PLATFORM=m
@@ -452,7 +451,7 @@  CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_SOUND=y
 CONFIG_SND=y
 CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_AUDIO=m
 CONFIG_SND_SOC=y
 CONFIG_SND_ATMEL_SOC=m
 CONFIG_SND_ATMEL_SOC_WM8904=m
@@ -467,24 +466,22 @@  CONFIG_SND_SOC_TEGRA_ALC5632=y
 CONFIG_SND_SOC_TEGRA_MAX98090=y
 CONFIG_SND_SOC_AK4642=m
 CONFIG_SND_SOC_WM8978=m
-CONFIG_USB=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_MVEBU=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_EXYNOS=y
-CONFIG_USB_EHCI_TEGRA=y
-CONFIG_USB_EHCI_HCD_STI=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_STI=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_MVEBU=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_HCD_STI=m
+CONFIG_USB_EHCI_TEGRA=m
+CONFIG_USB_EHCI_EXYNOS=m
+CONFIG_USB_ISP1760=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_STI=m
 CONFIG_USB_OHCI_EXYNOS=m
 CONFIG_USB_R8A66597_HCD=m
 CONFIG_USB_RENESAS_USBHS=m
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
 CONFIG_USB_DWC3=y
-CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA=m
 CONFIG_USB_CHIPIDEA_HOST=y
 CONFIG_AB8500_USB=y
 CONFIG_KEYSTONE_USB_PHY=y
@@ -632,7 +629,6 @@  CONFIG_PHY_STIH41X_USB=y
 CONFIG_PHY_STIH407_USB=y
 CONFIG_PHY_SUN4I_USB=y
 CONFIG_PHY_SUN9I_USB=y
-CONFIG_PHY_SAMSUNG_USB2=m
 CONFIG_EXT4_FS=y
 CONFIG_AUTOFS4_FS=y
 CONFIG_MSDOS_FS=y