diff mbox

usb: limit OMAP related USB options to OMAP2PLUS platforms

Message ID 1361992119-2465-1-git-send-email-paul.gortmaker@windriver.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paul Gortmaker Feb. 27, 2013, 7:08 p.m. UTC
commit 57f6ce072e35770a63be0c5d5e82f90d8da7d665 ("usb: phy:
add a new driver for usb3 phy") added the new Kconfig option
OMAP_USB3, but it had no dependencies whatsoever, and hence
became available across all arch/platforms.

Which presumably caused this to show up in x86 randconfig:

    warning: (USB_MUSB_HDRC && OMAP_USB3) selects \
        OMAP_CONTROL_USB which has unmet direct \
        dependencies (USB_SUPPORT && ARCH_OMAP2PLUS)

Then commit 6992819feb39cb9adac72170555d957d07f869f2 ("usb: phy:
fix Kconfig warning") was added.  However, this just deleted the
ARCH_OMAP2PLUS dependency from OMAP_CONTROL_USB, further
compounding the problem by opening up OMAP_CONTROL_USB to
all arch/platforms as well.

Here we revert the change of 6992819feb to restore the dependency,
and add the same ARCH_OMAP2PLUS dependency to the new OMAP_USB3.

Perhaps a more platform specific dependency could be chosen for
OMAP_USB3, but at least this keeps it from bleeding out to other
architectures and non-OMAP ARM platforms as it is currently doing.

Cc: Felipe Balbi <balbi@ti.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Moiz Sonasath <m-sonasath@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/usb/phy/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

Comments

Felipe Balbi Feb. 27, 2013, 7:51 p.m. UTC | #1
HI,

On Wed, Feb 27, 2013 at 02:08:39PM -0500, Paul Gortmaker wrote:
> commit 57f6ce072e35770a63be0c5d5e82f90d8da7d665 ("usb: phy:
> add a new driver for usb3 phy") added the new Kconfig option
> OMAP_USB3, but it had no dependencies whatsoever, and hence
> became available across all arch/platforms.
> 
> Which presumably caused this to show up in x86 randconfig:
> 
>     warning: (USB_MUSB_HDRC && OMAP_USB3) selects \
>         OMAP_CONTROL_USB which has unmet direct \
>         dependencies (USB_SUPPORT && ARCH_OMAP2PLUS)
> 
> Then commit 6992819feb39cb9adac72170555d957d07f869f2 ("usb: phy:
> fix Kconfig warning") was added.  However, this just deleted the
> ARCH_OMAP2PLUS dependency from OMAP_CONTROL_USB, further
> compounding the problem by opening up OMAP_CONTROL_USB to
> all arch/platforms as well.
> 
> Here we revert the change of 6992819feb to restore the dependency,
> and add the same ARCH_OMAP2PLUS dependency to the new OMAP_USB3.
> 
> Perhaps a more platform specific dependency could be chosen for
> OMAP_USB3, but at least this keeps it from bleeding out to other
> architectures and non-OMAP ARM platforms as it is currently doing.
> 
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Kishon Vijay Abraham I <kishon@ti.com>
> Cc: Moiz Sonasath <m-sonasath@ti.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>  drivers/usb/phy/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> index 65217a5..40b8463 100644
> --- a/drivers/usb/phy/Kconfig
> +++ b/drivers/usb/phy/Kconfig
> @@ -17,6 +17,7 @@ config OMAP_USB2
>  
>  config OMAP_USB3
>  	tristate "OMAP USB3 PHY Driver"
> +	depends on ARCH_OMAP2PLUS
>  	select USB_OTG_UTILS
>  	select OMAP_CONTROL_USB
>  	help
> @@ -27,6 +28,7 @@ config OMAP_USB3
>  
>  config OMAP_CONTROL_USB
>  	tristate "OMAP CONTROL USB Driver"
> +	depends on ARCH_OMAP2PLUS

I rather not add dependencies here and fix the selections of
OMAP_CONTROL_USB.
Paul Gortmaker Feb. 27, 2013, 7:57 p.m. UTC | #2
On 13-02-27 02:51 PM, Felipe Balbi wrote:
> HI,
> 
> On Wed, Feb 27, 2013 at 02:08:39PM -0500, Paul Gortmaker wrote:
>> commit 57f6ce072e35770a63be0c5d5e82f90d8da7d665 ("usb: phy:
>> add a new driver for usb3 phy") added the new Kconfig option
>> OMAP_USB3, but it had no dependencies whatsoever, and hence
>> became available across all arch/platforms.
>>
>> Which presumably caused this to show up in x86 randconfig:
>>
>>     warning: (USB_MUSB_HDRC && OMAP_USB3) selects \
>>         OMAP_CONTROL_USB which has unmet direct \
>>         dependencies (USB_SUPPORT && ARCH_OMAP2PLUS)
>>
>> Then commit 6992819feb39cb9adac72170555d957d07f869f2 ("usb: phy:
>> fix Kconfig warning") was added.  However, this just deleted the
>> ARCH_OMAP2PLUS dependency from OMAP_CONTROL_USB, further
>> compounding the problem by opening up OMAP_CONTROL_USB to
>> all arch/platforms as well.
>>
>> Here we revert the change of 6992819feb to restore the dependency,
>> and add the same ARCH_OMAP2PLUS dependency to the new OMAP_USB3.
>>
>> Perhaps a more platform specific dependency could be chosen for
>> OMAP_USB3, but at least this keeps it from bleeding out to other
>> architectures and non-OMAP ARM platforms as it is currently doing.
>>
>> Cc: Felipe Balbi <balbi@ti.com>
>> Cc: Kishon Vijay Abraham I <kishon@ti.com>
>> Cc: Moiz Sonasath <m-sonasath@ti.com>
>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>> ---
>>  drivers/usb/phy/Kconfig | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>> index 65217a5..40b8463 100644
>> --- a/drivers/usb/phy/Kconfig
>> +++ b/drivers/usb/phy/Kconfig
>> @@ -17,6 +17,7 @@ config OMAP_USB2
>>  
>>  config OMAP_USB3
>>  	tristate "OMAP USB3 PHY Driver"
>> +	depends on ARCH_OMAP2PLUS
>>  	select USB_OTG_UTILS
>>  	select OMAP_CONTROL_USB
>>  	help
>> @@ -27,6 +28,7 @@ config OMAP_USB3
>>  
>>  config OMAP_CONTROL_USB
>>  	tristate "OMAP CONTROL USB Driver"
>> +	depends on ARCH_OMAP2PLUS
> 
> I rather not add dependencies here and fix the selections of
> OMAP_CONTROL_USB.

I am not sure I understand what you mean, or why you wouldn't
want sane dependencies in place like those given above.  Perhaps
you can send an alternate patch so there is no ambiguity?

Paul.


>
Paul Gortmaker March 14, 2013, 3:17 p.m. UTC | #3
On 13-02-27 02:57 PM, Paul Gortmaker wrote:
> On 13-02-27 02:51 PM, Felipe Balbi wrote:
>> HI,
>>
>> On Wed, Feb 27, 2013 at 02:08:39PM -0500, Paul Gortmaker wrote:
>>> commit 57f6ce072e35770a63be0c5d5e82f90d8da7d665 ("usb: phy:
>>> add a new driver for usb3 phy") added the new Kconfig option
>>> OMAP_USB3, but it had no dependencies whatsoever, and hence
>>> became available across all arch/platforms.
>>>
>>> Which presumably caused this to show up in x86 randconfig:
>>>
>>>     warning: (USB_MUSB_HDRC && OMAP_USB3) selects \
>>>         OMAP_CONTROL_USB which has unmet direct \
>>>         dependencies (USB_SUPPORT && ARCH_OMAP2PLUS)
>>>
>>> Then commit 6992819feb39cb9adac72170555d957d07f869f2 ("usb: phy:
>>> fix Kconfig warning") was added.  However, this just deleted the
>>> ARCH_OMAP2PLUS dependency from OMAP_CONTROL_USB, further
>>> compounding the problem by opening up OMAP_CONTROL_USB to
>>> all arch/platforms as well.
>>>
>>> Here we revert the change of 6992819feb to restore the dependency,
>>> and add the same ARCH_OMAP2PLUS dependency to the new OMAP_USB3.
>>>
>>> Perhaps a more platform specific dependency could be chosen for
>>> OMAP_USB3, but at least this keeps it from bleeding out to other
>>> architectures and non-OMAP ARM platforms as it is currently doing.
>>>
>>> Cc: Felipe Balbi <balbi@ti.com>
>>> Cc: Kishon Vijay Abraham I <kishon@ti.com>
>>> Cc: Moiz Sonasath <m-sonasath@ti.com>
>>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>>> ---
>>>  drivers/usb/phy/Kconfig | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>>> index 65217a5..40b8463 100644
>>> --- a/drivers/usb/phy/Kconfig
>>> +++ b/drivers/usb/phy/Kconfig
>>> @@ -17,6 +17,7 @@ config OMAP_USB2
>>>  
>>>  config OMAP_USB3
>>>  	tristate "OMAP USB3 PHY Driver"
>>> +	depends on ARCH_OMAP2PLUS
>>>  	select USB_OTG_UTILS
>>>  	select OMAP_CONTROL_USB
>>>  	help
>>> @@ -27,6 +28,7 @@ config OMAP_USB3
>>>  
>>>  config OMAP_CONTROL_USB
>>>  	tristate "OMAP CONTROL USB Driver"
>>> +	depends on ARCH_OMAP2PLUS
>>
>> I rather not add dependencies here and fix the selections of
>> OMAP_CONTROL_USB.
> 
> I am not sure I understand what you mean, or why you wouldn't
> want sane dependencies in place like those given above.  Perhaps
> you can send an alternate patch so there is no ambiguity?

Hi Felipe,

I'm still seeing the OMAP settings in x86 builds on mainline
from today, and since I'd not got a reply to the above, I'm
still wondering what alternative you have in mind vs. my
above patch.  We can't be having the arch specific settings
leaking out to the other arch where they make no sense[1].

Thanks,
Paul.

[1] https://lkml.org/lkml/2013/3/7/456
Felipe Balbi March 14, 2013, 4:12 p.m. UTC | #4
Hi,

On Thu, Mar 14, 2013 at 11:17:21AM -0400, Paul Gortmaker wrote:
> >>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> >>> index 65217a5..40b8463 100644
> >>> --- a/drivers/usb/phy/Kconfig
> >>> +++ b/drivers/usb/phy/Kconfig
> >>> @@ -17,6 +17,7 @@ config OMAP_USB2
> >>>  
> >>>  config OMAP_USB3
> >>>  	tristate "OMAP USB3 PHY Driver"
> >>> +	depends on ARCH_OMAP2PLUS
> >>>  	select USB_OTG_UTILS
> >>>  	select OMAP_CONTROL_USB
> >>>  	help
> >>> @@ -27,6 +28,7 @@ config OMAP_USB3
> >>>  
> >>>  config OMAP_CONTROL_USB
> >>>  	tristate "OMAP CONTROL USB Driver"
> >>> +	depends on ARCH_OMAP2PLUS
> >>
> >> I rather not add dependencies here and fix the selections of
> >> OMAP_CONTROL_USB.
> > 
> > I am not sure I understand what you mean, or why you wouldn't
> > want sane dependencies in place like those given above.  Perhaps
> > you can send an alternate patch so there is no ambiguity?
> 
> Hi Felipe,
> 
> I'm still seeing the OMAP settings in x86 builds on mainline
> from today, and since I'd not got a reply to the above, I'm
> still wondering what alternative you have in mind vs. my
> above patch.  We can't be having the arch specific settings
> leaking out to the other arch where they make no sense[1].

why not ? It forces people to write portable drivers, it forces people
to avoid including the wrong headers and allows maintainers and patch
authors to easily compile test their drivers.

On top of all that, it lets me better use linux-next as a big build
testing before I send a pull request to Greg.

When you're going to build a product, you will come up with a proper
.config anyway. Because of a bunch of these misused 'depends on' and
'select' statements that right now ARM multiplatform builds don't even
compile cleanly if you enable all ARM-related drivers.

Until all of those are cleaned up, the best way is to force people to
write drivers which compile in all architectures and make sure Kconfig
doesn't add any ARCH dependency.
Paul Gortmaker March 14, 2013, 6:40 p.m. UTC | #5
On 13-03-14 12:12 PM, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Mar 14, 2013 at 11:17:21AM -0400, Paul Gortmaker wrote:
>>>>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>>>>> index 65217a5..40b8463 100644
>>>>> --- a/drivers/usb/phy/Kconfig
>>>>> +++ b/drivers/usb/phy/Kconfig
>>>>> @@ -17,6 +17,7 @@ config OMAP_USB2
>>>>>  
>>>>>  config OMAP_USB3
>>>>>  	tristate "OMAP USB3 PHY Driver"
>>>>> +	depends on ARCH_OMAP2PLUS
>>>>>  	select USB_OTG_UTILS
>>>>>  	select OMAP_CONTROL_USB
>>>>>  	help
>>>>> @@ -27,6 +28,7 @@ config OMAP_USB3
>>>>>  
>>>>>  config OMAP_CONTROL_USB
>>>>>  	tristate "OMAP CONTROL USB Driver"
>>>>> +	depends on ARCH_OMAP2PLUS
>>>>
>>>> I rather not add dependencies here and fix the selections of
>>>> OMAP_CONTROL_USB.
>>>
>>> I am not sure I understand what you mean, or why you wouldn't
>>> want sane dependencies in place like those given above.  Perhaps
>>> you can send an alternate patch so there is no ambiguity?
>>
>> Hi Felipe,
>>
>> I'm still seeing the OMAP settings in x86 builds on mainline
>> from today, and since I'd not got a reply to the above, I'm
>> still wondering what alternative you have in mind vs. my
>> above patch.  We can't be having the arch specific settings
>> leaking out to the other arch where they make no sense[1].
> 
> why not ? It forces people to write portable drivers, it forces people
> to avoid including the wrong headers and allows maintainers and patch
> authors to easily compile test their drivers.

Why not?  That was covered in the link I'd referenced.  What you
list above is a very developer centric point of view.  To quote
Andrew Morton from that same link, in regards to dependencies
and how they should be used:

"...offering useless stuff to non-kernel-developers has downsides
with no balancing benefit, and we really should optimise things for
our users because there are so many more of them than there are of us."

Look at what you've written.  The key word above and below in your
text is "force people".  Showing no interest in simplifying things for
our users and taking that approach is a good way to alienate our user
base.

Paul.
--

> 
> On top of all that, it lets me better use linux-next as a big build
> testing before I send a pull request to Greg.
> 
> When you're going to build a product, you will come up with a proper
> .config anyway. Because of a bunch of these misused 'depends on' and
> 'select' statements that right now ARM multiplatform builds don't even
> compile cleanly if you enable all ARM-related drivers.
> 
> Until all of those are cleaned up, the best way is to force people to
> write drivers which compile in all architectures and make sure Kconfig
> doesn't add any ARCH dependency.
>
diff mbox

Patch

diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index 65217a5..40b8463 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -17,6 +17,7 @@  config OMAP_USB2
 
 config OMAP_USB3
 	tristate "OMAP USB3 PHY Driver"
+	depends on ARCH_OMAP2PLUS
 	select USB_OTG_UTILS
 	select OMAP_CONTROL_USB
 	help
@@ -27,6 +28,7 @@  config OMAP_USB3
 
 config OMAP_CONTROL_USB
 	tristate "OMAP CONTROL USB Driver"
+	depends on ARCH_OMAP2PLUS
 	help
 	  Enable this to add support for the USB part present in the control
 	  module. This driver has API to power on the USB2 PHY and to write to