2018-04-19 08:03:37

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH resend] usb: chipidea: Don't select EXTCON

Not all chipidea users need EXTCON, so it's better to avoid
unconditionally select EXTCON, this could save us 2KB kernel Image size.

Signed-off-by: Jisheng Zhang <[email protected]>
---
drivers/usb/chipidea/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig
index 785f0ed037f7..97509172d536 100644
--- a/drivers/usb/chipidea/Kconfig
+++ b/drivers/usb/chipidea/Kconfig
@@ -1,7 +1,6 @@
config USB_CHIPIDEA
tristate "ChipIdea Highspeed Dual Role Controller"
depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
- select EXTCON
select RESET_CONTROLLER
help
Say Y here if your system has a dual role high speed USB
--
2.17.0



2018-04-20 01:40:14

by Peter Chen

[permalink] [raw]
Subject: RE: [PATCH resend] usb: chipidea: Don't select EXTCON


> drivers/usb/chipidea/Kconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig index
> 785f0ed037f7..97509172d536 100644
> --- a/drivers/usb/chipidea/Kconfig
> +++ b/drivers/usb/chipidea/Kconfig
> @@ -1,7 +1,6 @@
> config USB_CHIPIDEA
> tristate "ChipIdea Highspeed Dual Role Controller"
> depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD
> && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
> - select EXTCON
> select RESET_CONTROLLER
> help
> Say Y here if your system has a dual role high speed USB
> --
> 2.17.0

Hi Jisheng,

Sorry to reply late, are you really care 2KB code side? Since many users use
EXTCON to handle vbus and id, it is hard just delete it. I could accept patch
for your specific platforms, like:

+ select EXTCON if !ARCH_XXXX

But please note, even your board uses SoC id/vbus pin to detect related external
signal, the other boards use the same SoC may use external gpios to do it.

Peter

2018-04-20 09:03:10

by Jisheng Zhang

[permalink] [raw]
Subject: Re: [PATCH resend] usb: chipidea: Don't select EXTCON

Hi Peter

On Fri, 20 Apr 2018 01:38:42 +0000 Peter Chen wrote:

>
> > drivers/usb/chipidea/Kconfig | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig index
> > 785f0ed037f7..97509172d536 100644
> > --- a/drivers/usb/chipidea/Kconfig
> > +++ b/drivers/usb/chipidea/Kconfig
> > @@ -1,7 +1,6 @@
> > config USB_CHIPIDEA
> > tristate "ChipIdea Highspeed Dual Role Controller"
> > depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD
> > && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
> > - select EXTCON
> > select RESET_CONTROLLER
> > help
> > Say Y here if your system has a dual role high speed USB
> > --
> > 2.17.0
>
> Hi Jisheng,
>
> Sorry to reply late, are you really care 2KB code side? Since many users use
> EXTCON to handle vbus and id, it is hard just delete it. I could accept patch
> for your specific platforms, like:
>
> + select EXTCON if !ARCH_XXXX

The patch doesn't remove extcon support from chipidea driver.
I just want to not select EXTCON unconditionally, but let the users
choose. If the users need extcon, they could enable EXTCON themselves

I just searched all the dts in arch/arm/boot/dts and arch/arm64/boot/dts
only the four dts give extcon phandle to chipidea host, other users
don't make use of it:

arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi

arch/arm/boot/dts/qcom-apq8074-dragonboard.dts

arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts

arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts

Thanks

2018-04-20 09:37:26

by Peter Chen

[permalink] [raw]
Subject: RE: [PATCH resend] usb: chipidea: Don't select EXTCON


> >
> > Sorry to reply late, are you really care 2KB code side? Since many
> > users use EXTCON to handle vbus and id, it is hard just delete it. I
> > could accept patch for your specific platforms, like:
> >
> > + select EXTCON if !ARCH_XXXX
>
> The patch doesn't remove extcon support from chipidea driver.
> I just want to not select EXTCON unconditionally, but let the users choose. If the
> users need extcon, they could enable EXTCON themselves
>
> I just searched all the dts in arch/arm/boot/dts and arch/arm64/boot/dts only the four
> dts give extcon phandle to chipidea host, other users don't make use of it:
>
> arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
>
> arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
>
> arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
>
> arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
>

I see, but I do not want to break msm platforms. You may try to create Glue driver Kconfig
entry for chipidea like dwc3, and let msm depends on EXTCON.

Peter

2018-04-23 07:35:04

by Jisheng Zhang

[permalink] [raw]
Subject: Re: [PATCH resend] usb: chipidea: Don't select EXTCON

On Fri, 20 Apr 2018 09:35:54 +0000 Peter Chen wrote:

>
> > >
> > > Sorry to reply late, are you really care 2KB code side? Since many
> > > users use EXTCON to handle vbus and id, it is hard just delete it. I
> > > could accept patch for your specific platforms, like:
> > >
> > > + select EXTCON if !ARCH_XXXX
> >
> > The patch doesn't remove extcon support from chipidea driver.
> > I just want to not select EXTCON unconditionally, but let the users choose. If the
> > users need extcon, they could enable EXTCON themselves
> >
> > I just searched all the dts in arch/arm/boot/dts and arch/arm64/boot/dts only the four
> > dts give extcon phandle to chipidea host, other users don't make use of it:
> >
> > arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> >
> > arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
> >
> > arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
> >
> > arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
> >
>
> I see, but I do not want to break msm platforms. You may try to create Glue driver Kconfig
> entry for chipidea like dwc3, and let msm depends on EXTCON.

Got your points. Since multi_v7_defconfig has selected EXTCON, and
EXTCON_USB_GPIO(which depends on EXTCON) is enabled in arm64 defconfig, so
what about:

enable EXTCON explicitly in arm64 defconfig?
then add this patch?

Is it acceptable?

Thanks,
Jisheng

2018-04-25 01:49:07

by Peter Chen

[permalink] [raw]
Subject: RE: [PATCH resend] usb: chipidea: Don't select EXTCON


> > >
> > > The patch doesn't remove extcon support from chipidea driver.
> > > I just want to not select EXTCON unconditionally, but let the users
> > > choose. If the users need extcon, they could enable EXTCON
> > > themselves
> > >
> > > I just searched all the dts in arch/arm/boot/dts and
> > > arch/arm64/boot/dts only the four dts give extcon phandle to chipidea host, other
> users don't make use of it:
> > >
> > > arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> > >
> > > arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
> > >
> > > arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
> > >
> > > arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
> > >
> >
> > I see, but I do not want to break msm platforms. You may try to create
> > Glue driver Kconfig entry for chipidea like dwc3, and let msm depends on EXTCON.
>
> Got your points. Since multi_v7_defconfig has selected EXTCON, and
> EXTCON_USB_GPIO(which depends on EXTCON) is enabled in arm64 defconfig,
> so what about:
>
> enable EXTCON explicitly in arm64 defconfig?
> then add this patch?
>

I am not sure if Qualcomm platforms use these, add Qualcomm guys to confirm it.

Peter