diff mbox

[U-Boot] dm: usb.h: Always declare usb func. prototypes when CONFIG_DM_USB=y

Message ID 1433578882-26480-1-git-send-email-hdegoede@redhat.com
State Superseded
Headers show

Commit Message

Hans de Goede June 6, 2015, 8:21 a.m. UTC
When CONFIG_DM_USB=y the various usb functions are available regardless of
any controller drivers being enabled, so always the usb function prototypes
when CONFIG_DM_USB=y.

This fixes compile warnings due to missing prototypes on ARCHs where
the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.

One could argue that in the case of no controllers CONFIG_DM_USB should not
be set, but this problem is typically seen during bringup of boards which
do actually have usb controllers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 include/usb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marek Vasut June 7, 2015, 1:05 p.m. UTC | #1
On Saturday, June 06, 2015 at 10:21:22 AM, Hans de Goede wrote:
> When CONFIG_DM_USB=y the various usb functions are available regardless of
> any controller drivers being enabled, so always the usb function prototypes
> when CONFIG_DM_USB=y.
> 
> This fixes compile warnings due to missing prototypes on ARCHs where
> the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.
> 
> One could argue that in the case of no controllers CONFIG_DM_USB should not
> be set, but this problem is typically seen during bringup of boards which
> do actually have usb controllers.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  include/usb.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/usb.h b/include/usb.h
> index c709ce2..54ad33a 100644
> --- a/include/usb.h
> +++ b/include/usb.h
> @@ -180,7 +180,7 @@ enum usb_init_type {
>  	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) || \
>  	defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined(CONFIG_USB_MUSB_SUNXI) || 
\
>  	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
> -	defined(CONFIG_USB_EMUL)
> +	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)

What would happen in case we instead dropped this horrible ifdef altogether,
do you think it'd break anything ?

>  int usb_lowlevel_init(int index, enum usb_init_type init, void
> **controller); int usb_lowlevel_stop(int index);

Best regards,
Marek Vasut
Hans de Goede June 8, 2015, 1:24 p.m. UTC | #2
Hi,

On 07-06-15 15:05, Marek Vasut wrote:
> On Saturday, June 06, 2015 at 10:21:22 AM, Hans de Goede wrote:
>> When CONFIG_DM_USB=y the various usb functions are available regardless of
>> any controller drivers being enabled, so always the usb function prototypes
>> when CONFIG_DM_USB=y.
>>
>> This fixes compile warnings due to missing prototypes on ARCHs where
>> the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.
>>
>> One could argue that in the case of no controllers CONFIG_DM_USB should not
>> be set, but this problem is typically seen during bringup of boards which
>> do actually have usb controllers.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>>   include/usb.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/usb.h b/include/usb.h
>> index c709ce2..54ad33a 100644
>> --- a/include/usb.h
>> +++ b/include/usb.h
>> @@ -180,7 +180,7 @@ enum usb_init_type {
>>   	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) || \
>>   	defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined(CONFIG_USB_MUSB_SUNXI) ||
> \
>>   	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
>> -	defined(CONFIG_USB_EMUL)
>> +	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)
>
> What would happen in case we instead dropped this horrible ifdef altogether,
> do you think it'd break anything ?

I've not audited the code, but I believe that it only declares a bunch
of function prototypes, so I think that dropping the entire #ifdef is
fine.

Regards,

Hans
Marek Vasut June 8, 2015, 2:04 p.m. UTC | #3
On Monday, June 08, 2015 at 03:24:34 PM, Hans de Goede wrote:
> Hi,
> 
> On 07-06-15 15:05, Marek Vasut wrote:
> > On Saturday, June 06, 2015 at 10:21:22 AM, Hans de Goede wrote:
> >> When CONFIG_DM_USB=y the various usb functions are available regardless
> >> of any controller drivers being enabled, so always the usb function
> >> prototypes when CONFIG_DM_USB=y.
> >> 
> >> This fixes compile warnings due to missing prototypes on ARCHs where
> >> the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.
> >> 
> >> One could argue that in the case of no controllers CONFIG_DM_USB should
> >> not be set, but this problem is typically seen during bringup of boards
> >> which do actually have usb controllers.
> >> 
> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> >> ---
> >> 
> >>   include/usb.h | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >> 
> >> diff --git a/include/usb.h b/include/usb.h
> >> index c709ce2..54ad33a 100644
> >> --- a/include/usb.h
> >> +++ b/include/usb.h
> >> @@ -180,7 +180,7 @@ enum usb_init_type {
> >> 
> >>   	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) || \
> >>   	defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined(CONFIG_USB_MUSB_SUNXI)
> >>   	||
> > 
> > \
> > 
> >>   	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
> >> 
> >> -	defined(CONFIG_USB_EMUL)
> >> +	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)
> > 
> > What would happen in case we instead dropped this horrible ifdef
> > altogether, do you think it'd break anything ?
> 
> I've not audited the code, but I believe that it only declares a bunch
> of function prototypes, so I think that dropping the entire #ifdef is
> fine.

So do I :)

Best regards,
Marek Vasut
Hans de Goede June 8, 2015, 3:55 p.m. UTC | #4
Hi,

On 08-06-15 16:04, Marek Vasut wrote:
> On Monday, June 08, 2015 at 03:24:34 PM, Hans de Goede wrote:
>> Hi,
>>
>> On 07-06-15 15:05, Marek Vasut wrote:
>>> On Saturday, June 06, 2015 at 10:21:22 AM, Hans de Goede wrote:
>>>> When CONFIG_DM_USB=y the various usb functions are available regardless
>>>> of any controller drivers being enabled, so always the usb function
>>>> prototypes when CONFIG_DM_USB=y.
>>>>
>>>> This fixes compile warnings due to missing prototypes on ARCHs where
>>>> the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.
>>>>
>>>> One could argue that in the case of no controllers CONFIG_DM_USB should
>>>> not be set, but this problem is typically seen during bringup of boards
>>>> which do actually have usb controllers.
>>>>
>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>> ---
>>>>
>>>>    include/usb.h | 2 +-
>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/include/usb.h b/include/usb.h
>>>> index c709ce2..54ad33a 100644
>>>> --- a/include/usb.h
>>>> +++ b/include/usb.h
>>>> @@ -180,7 +180,7 @@ enum usb_init_type {
>>>>
>>>>    	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) || \
>>>>    	defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined(CONFIG_USB_MUSB_SUNXI)
>>>>    	||
>>>
>>> \
>>>
>>>>    	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
>>>>
>>>> -	defined(CONFIG_USB_EMUL)
>>>> +	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)
>>>
>>> What would happen in case we instead dropped this horrible ifdef
>>> altogether, do you think it'd break anything ?
>>
>> I've not audited the code, but I believe that it only declares a bunch
>> of function prototypes, so I think that dropping the entire #ifdef is
>> fine.
>
> So do I :)

I was actually hoping that you would do it :)

Regards,

Hans
Marek Vasut June 9, 2015, 12:38 a.m. UTC | #5
On Monday, June 08, 2015 at 05:55:31 PM, Hans de Goede wrote:
> Hi,
> 
> On 08-06-15 16:04, Marek Vasut wrote:
> > On Monday, June 08, 2015 at 03:24:34 PM, Hans de Goede wrote:
> >> Hi,
> >> 
> >> On 07-06-15 15:05, Marek Vasut wrote:
> >>> On Saturday, June 06, 2015 at 10:21:22 AM, Hans de Goede wrote:
> >>>> When CONFIG_DM_USB=y the various usb functions are available
> >>>> regardless of any controller drivers being enabled, so always the usb
> >>>> function prototypes when CONFIG_DM_USB=y.
> >>>> 
> >>>> This fixes compile warnings due to missing prototypes on ARCHs where
> >>>> the ARCH Kconfig always enables CONFIG_DM_USB and various usb drivers.
> >>>> 
> >>>> One could argue that in the case of no controllers CONFIG_DM_USB
> >>>> should not be set, but this problem is typically seen during bringup
> >>>> of boards which do actually have usb controllers.
> >>>> 
> >>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> >>>> ---
> >>>> 
> >>>>    include/usb.h | 2 +-
> >>>>    1 file changed, 1 insertion(+), 1 deletion(-)
> >>>> 
> >>>> diff --git a/include/usb.h b/include/usb.h
> >>>> index c709ce2..54ad33a 100644
> >>>> --- a/include/usb.h
> >>>> +++ b/include/usb.h
> >>>> @@ -180,7 +180,7 @@ enum usb_init_type {
> >>>> 
> >>>>    	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) 
||
> >>>>    	\ defined(CONFIG_USB_MUSB_OMAP2PLUS) ||
> >>>>    	defined(CONFIG_USB_MUSB_SUNXI)
> >>> 
> >>> \
> >>> 
> >>>>    	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
> >>>> 
> >>>> -	defined(CONFIG_USB_EMUL)
> >>>> +	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)
> >>> 
> >>> What would happen in case we instead dropped this horrible ifdef
> >>> altogether, do you think it'd break anything ?
> >> 
> >> I've not audited the code, but I believe that it only declares a bunch
> >> of function prototypes, so I think that dropping the entire #ifdef is
> >> fine.
> > 
> > So do I :)
> 
> I was actually hoping that you would do it :)

So V2 is coming ? :)

Best regards,
Marek Vasut
diff mbox

Patch

diff --git a/include/usb.h b/include/usb.h
index c709ce2..54ad33a 100644
--- a/include/usb.h
+++ b/include/usb.h
@@ -180,7 +180,7 @@  enum usb_init_type {
 	defined(CONFIG_USB_MUSB_DSPS) || defined(CONFIG_USB_MUSB_AM35X) || \
 	defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined(CONFIG_USB_MUSB_SUNXI) || \
 	defined(CONFIG_USB_XHCI) || defined(CONFIG_USB_DWC2) || \
-	defined(CONFIG_USB_EMUL)
+	defined(CONFIG_USB_EMUL) || defined(CONFIG_DM_USB)
 
 int usb_lowlevel_init(int index, enum usb_init_type init, void **controller);
 int usb_lowlevel_stop(int index);