Skip to contentSkip to conversation

ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

PATCH New Geert Uytterhoeven 5 participants 9 messages May 26, 2015 – May 29, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support optional"), CONFIG_USB_ISP1760_HCD is automatically selected when needed. Enabling that option in the defconfig is now a no-op, and no longer enables ISP1760 HCD support.

Re-enable the ISP1760 driver in the defconfig by enabling USB_ISP1760_HOST_ROLE instead.

---
 arch/arm/configs/multi_v7_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/configs/multi_v7_defconfig +1 -1
index a6bbfeef3e36612a..e3fc9799972367c3 100644
@@ -475,7 +475,7 @@ 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_HCD=y
+CONFIG_USB_ISP1760=y
 CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_OHCI_HCD_STI=y
 CONFIG_USB_OHCI_HCD_PLATFORM=y
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/2 ARM: multi_v7_defconfig: Make USB support modular

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.

---
Against next-20150526

---
 arch/arm/configs/multi_v7_defconfig | 40 +++++++++++++++++--------------------
 1 file changed, 18 insertions(+), 22 deletions(-)
arch/arm/configs/multi_v7_defconfig +18 -22
index e3fc9799972367c3..5df66b3671946378 100644
@@ -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
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 ARM: multi_v7_defconfig: Make USB support modular

Hi Geert,

Thank you for the patch.

Quoted 1 line · 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.

Quoted 101 lines
       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.

---
Against next-20150526

---
 arch/arm/configs/multi_v7_defconfig | 40  ++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 22 deletions(-)
(quoted diff) +0 -0

b/arch/arm/configs/multi_v7_defconfig index
e3fc9799972367c3..5df66b3671946378 100644

arch/arm/configs/multi_v7_defconfig +18 -22
@@ -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
Signature · 3 lines
Regards,

Laurent Pinchart
#3 lore raw

PATCH 2/2 ARM: multi_v7_defconfig: Make USB support modular

Hi Laurent,

Quoted 5 lines · Laurent Pinchart
Quoted 1 line · 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 at 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

#4 lore raw

PATCH 2/2 ARM: multi_v7_defconfig: Make USB support modular

Quoted 5 lines · 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

#5 lore raw

PATCH 1/2 ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

In reply to Geert Uytterhoeven
Quoted 9 lines · Geert Uytterhoeven

Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support optional"), CONFIG_USB_ISP1760_HCD is automatically selected when needed. Enabling that option in the defconfig is now a no-op, and no longer enables ISP1760 HCD support.

Re-enable the ISP1760 driver in the defconfig by enabling USB_ISP1760_HOST_ROLE instead.

Thanks, I have queued this up for v4.3.

I would not object at all if the ARM SoC maintainers wish to take this earlier and I'd be happy to prepare a pull request to that effect once the change has sat in next. Unfortunately I anticipate that will be after the standard rc6 deadline.

#6 lore raw

PATCH 1/2 ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

Quoted 9 lines · On Thursday 28 May 2015 09:39:08 Simon Horman wrote:
Quoted 8 lines · Geert Uytterhoeven

Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support optional"), CONFIG_USB_ISP1760_HCD is automatically selected when needed. Enabling that option in the defconfig is now a no-op, and no longer enables ISP1760 HCD support.

Re-enable the ISP1760 driver in the defconfig by enabling USB_ISP1760_HOST_ROLE instead.

Quoted 8 lines
Quoted 1 line

Thanks, I have queued this up for v4.3.

I would not object at all if the ARM SoC maintainers wish to take this earlier and I'd be happy to prepare a pull request to that effect once the change has sat in next. Unfortunately I anticipate that will be after the standard rc6 deadline.

I would consider patch 1 as a bug-fix, and put that into 4.1 or 4.2, depending on timing. Patch 2 looks like 4.3 material.

Arnd

#7 lore raw

PATCH 1/2 ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

Quoted 14 lines · Arnd Bergmann
Quoted 13 lines · On Thursday 28 May 2015 09:39:08 Simon Horman wrote:
Quoted 9 lines · Geert Uytterhoeven

Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support optional"), CONFIG_USB_ISP1760_HCD is automatically selected when needed. Enabling that option in the defconfig is now a no-op, and no longer enables ISP1760 HCD support.

Re-enable the ISP1760 driver in the defconfig by enabling USB_ISP1760_HOST_ROLE instead.

Thanks, I have queued this up for v4.3.

Quoted 7 lines
Quoted 4 lines

I would not object at all if the ARM SoC maintainers wish to take this earlier and I'd be happy to prepare a pull request to that effect once the change has sat in next. Unfortunately I anticipate that will be after the standard rc6 deadline.

I would consider patch 1 as a bug-fix, and put that into 4.1 or 4.2, depending on timing. Patch 2 looks like 4.3 material.

Thanks Arnd, would you care to take pick it up directly for 4.1 (or 4.2)? If so I'll drop it from my tree.

#8 lore raw

PATCH 1/2 ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760

Quoted 20 lines · On Friday 29 May 2015 09:40:13 Simon Horman wrote:
Quoted 19 lines · Arnd Bergmann
Quoted 17 lines · On Thursday 28 May 2015 09:39:08 Simon Horman wrote:
Quoted 9 lines · Geert Uytterhoeven

Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support optional"), CONFIG_USB_ISP1760_HCD is automatically selected when needed. Enabling that option in the defconfig is now a no-op, and no longer enables ISP1760 HCD support.

Re-enable the ISP1760 driver in the defconfig by enabling USB_ISP1760_HOST_ROLE instead.

Thanks, I have queued this up for v4.3.

I would not object at all if the ARM SoC maintainers wish to take this earlier and I'd be happy to prepare a pull request to that effect once the change has sat in next. Unfortunately I anticipate that will be after the standard rc6 deadline.

Quoted 5 lines
Quoted 2 lines

I would consider patch 1 as a bug-fix, and put that into 4.1 or 4.2, depending on timing. Patch 2 looks like 4.3 material.

Thanks Arnd, would you care to take pick it up directly for 4.1 (or 4.2)? If so I'll drop it from my tree.

I've applied it to the fixes branch now.

Thanks everyone!

Arnd