Re: [PATCH 2/3] usb: gadget: at91_udc: mention proper dependency

From: Sudip Mukherjee
Date: Thu Oct 01 2015 - 12:12:33 EST


On Wed, Sep 30, 2015 at 06:34:28PM +0200, Nicolas Ferre wrote:
> Le 30/09/2015 18:24, Sudip Mukherjee a Ãcrit :
> > On Wed, Sep 30, 2015 at 11:04:54AM -0500, Felipe Balbi wrote:
> >> On Wed, Sep 23, 2015 at 09:22:48PM +0530, Sudip Mukherjee wrote:
> >>> On Mon, Sep 21, 2015 at 04:40:57PM +0530, Sudip Mukherjee wrote:
> >>>> On Sun, Sep 20, 2015 at 11:15:28AM -0500, Felipe Balbi wrote:
> >>>>> On Sat, Sep 19, 2015 at 10:42:58PM +0530, Sudip Mukherjee wrote:
> >>>>>> While building allmodconfig on avr32 the build failed with the error:
> >>>>>> "at91_pmc_base" [drivers/usb/gadget/udc/atmel_usba_udc.ko] undefined!
> >>>>>>
> >>>>>> On checking the code it turned out that if CONFIG_OF is defined then it
> >>>>>> is using at91_pmc_read() which is using at91_pmc_base. And unless
> >>>>>> COMMON_CLK_AT91 is defined we donot have at91_pmc_base. And
> >>>>>> COMMON_CLK_AT91 is available with AT91 architecture.
> >>>>>> Mention the dependency such that this driver builds with avr32 only if
> >>>>>> OF is not enabled.
> >>>>>>
> >>>>>> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
> >>>>>> ---
> >>>>>>
> >>>>>> Tested build with at91_dt_defconfig and allmodconfig of avr32. Build log
> >>>>>> at:
> >>>>>> https://travis-ci.org/sudipm-mukherjee/parport/builds/81168845
> >>>>>>
> >>>>>> drivers/usb/gadget/udc/Kconfig | 2 +-
> >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>>
> >>>>>> diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
> >>>>>> index 9a3a6b0..cdbff54 100644
> >>>>>> --- a/drivers/usb/gadget/udc/Kconfig
> >>>>>> +++ b/drivers/usb/gadget/udc/Kconfig
> >>>>>> @@ -55,7 +55,7 @@ config USB_LPC32XX
> >>>>>>
> >>>>>> config USB_ATMEL_USBA
> >>>>>> tristate "Atmel USBA"
> >>>>>> - depends on AVR32 || ARCH_AT91
> >>>>>> + depends on ((AVR32 && !OF) || ARCH_AT91)
> >>>>>
> >>>>> any chance you can add || COMPILE_TEST here ? I'd like to make
> >>>>> sure this builds on my end too.
> >>>> With "depends on ((AVR32 && !OF) || ARCH_AT91 || COMPILE_TEST)"
> >>>> normal allmodconfig builiding for x86_64 failed with:
> >>>>
> >>>> drivers/usb/gadget/udc/atmel_usba_udc.c: In function âusba_startâ:
> >>>> drivers/usb/gadget/udc/atmel_usba_udc.c:1783:25: error: âUSBA_ENABLE_MASKâ undeclared (first use in this function)
> >>>> usba_writel(udc, CTRL, USBA_ENABLE_MASK);
> >>>> ^
> >>>> drivers/usb/gadget/udc/atmel_usba_udc.c: In function âusba_stopâ:
> >>>> drivers/usb/gadget/udc/atmel_usba_udc.c:1800:25: error: âUSBA_DISABLE_MASKâ undeclared (first use in this function)
> >>>> usba_writel(udc, CTRL, USBA_DISABLE_MASK);
> >>>> ^
> >>>>
> >>>> Looks like USBA_DISABLE_MASK and USBA_ENABLE_MASK is defined under
> >>>> #if defined(CONFIG_AVR32). :(
> >>> Can i check anything else here? Like I said with COMPILE_TEST
> >>> allmodconfig on x86_64 is failing.
> >>
> >> then keep it as is, but it would be nice to get that sorted out
> >> so I can do compile tests on my end too.
> >
> > Maybe Nicolas can give some idea. Adding Nicolas Ferre to CC.
>
> Hi,
>
> I'm thinking about something like this:
>
> 8<----------------------------------------------------------
> --- a/drivers/usb/gadget/udc/atmel_usba_udc.h
> +++ b/drivers/usb/gadget/udc/atmel_usba_udc.h
> @@ -46,10 +46,10 @@
> #if defined(CONFIG_AVR32)
> #define USBA_ENABLE_MASK USBA_EN_USBA
> #define USBA_DISABLE_MASK 0
> -#elif defined(CONFIG_ARCH_AT91)
> +#else
> #define USBA_ENABLE_MASK (USBA_EN_USBA | USBA_PULLD_DIS)
> #define USBA_DISABLE_MASK USBA_DETACH
> -#endif /* CONFIG_ARCH_AT91 */
> +#endif
>
> /* Bitfields in FNUM */
> #define USBA_MICRO_FRAME_NUM_OFFSET 0
>
> it can be sensible and will all to compile with the COMPILE_TEST directive.

OOPS... with this, allmodconfig on x86_64 fails build with:
ERROR: "at91_pmc_base" [drivers/usb/gadget/udc/atmel_usba_udc.ko] undefined!

Infact, this is the error I reported in my original patch.

regards
sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/