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

From: Nicolas Ferre
Date: Wed Sep 30 2015 - 13:13:11 EST


Le 30/09/2015 18:53, Sudip Mukherjee a Ãcrit :
> 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.
>
> Thanks. Will test tomorrow. And my original patch of depending on
> ((AVR32 && !OF) || ARCH_AT91), is that correct?

Sounds good to me.

> Sorry that I missed ccing you while sending the patch. We should not
> always depend on getmaintainer.pl.

Well, I'm marked as maintainer for this drivers actually and
get_maintainer.pl shouldn't lie this time...

Bye,
--
Nicolas Ferre
--
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/