diff mbox

drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c:58:6: error: redefinition of 'brcmf_debugfs_init'

Message ID e8c43505-1e7a-635c-dc27-45422acb25a6@milecki.pl (mailing list archive)
State RFC
Delegated to: Kalle Valo
Headers show

Commit Message

Rafał Miłecki Feb. 16, 2017, 9:39 a.m. UTC
On 02/16/2017 10:31 AM, Kalle Valo wrote:
> (Adding linux-wireless)
>
> Randy Dunlap <rdunlap@infradead.org> writes:
>
>> On 02/07/17 02:02, kbuild test robot wrote:
>>> Hi Kalle,
>>>
>>> FYI, the error/warning still remains.
>>>
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>> head:   8b1b41ee74f9712c355d66dc105bbea663ae0afd
>>> commit: 05491d2ccf20b20a1375303441fbbfbd12b24a4f brcm80211: move
>>> under broadcom vendor directory
>>> date:   1 year, 3 months ago
>>> config: mips-allyesconfig (attached as .config)
>>> compiler: mips-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
>>> reproduce:
>>>         wget
>>> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
>>> -O ~/bin/make.cross
>>>         chmod +x ~/bin/make.cross
>>>         git checkout 05491d2ccf20b20a1375303441fbbfbd12b24a4f
>>>         # save the attached .config to linux build tree
>>>         make.cross ARCH=mips
>>>
>>> All errors (new ones prefixed by >>):
>>
>> when both:
>>
>> CONFIG_BRCM_TRACING=y
>> CONFIG_BRCMDBG=y
>>
>> but DEBUG is not defined.
>>
>> I think it would help if CONFIG_BRCMDBG set DEBUG
>> or if some of the tests for DEBUG used CONFIG_BRCMDBG instead.
>
> Arend or Rafał, would you be able to look at this build problem? Kbuild
> found the build errors below, apparently a very old issue. It just
> blames me now because I moved the driver to a new directory :)

Something like this maybe? Note I didn't test it with above config.

Comments

Arend van Spriel Feb. 16, 2017, 9:53 a.m. UTC | #1
On 16-2-2017 10:39, Rafał Miłecki wrote:
> On 02/16/2017 10:31 AM, Kalle Valo wrote:
>> (Adding linux-wireless)
>>
>> Randy Dunlap <rdunlap@infradead.org> writes:
>>
>>> On 02/07/17 02:02, kbuild test robot wrote:
>>>> Hi Kalle,
>>>>
>>>> FYI, the error/warning still remains.
>>>>
>>>> tree:  
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>> master
>>>> head:   8b1b41ee74f9712c355d66dc105bbea663ae0afd
>>>> commit: 05491d2ccf20b20a1375303441fbbfbd12b24a4f brcm80211: move
>>>> under broadcom vendor directory
>>>> date:   1 year, 3 months ago
>>>> config: mips-allyesconfig (attached as .config)
>>>> compiler: mips-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
>>>> reproduce:
>>>>         wget
>>>> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
>>>>
>>>> -O ~/bin/make.cross
>>>>         chmod +x ~/bin/make.cross
>>>>         git checkout 05491d2ccf20b20a1375303441fbbfbd12b24a4f
>>>>         # save the attached .config to linux build tree
>>>>         make.cross ARCH=mips
>>>>
>>>> All errors (new ones prefixed by >>):
>>>
>>> when both:
>>>
>>> CONFIG_BRCM_TRACING=y
>>> CONFIG_BRCMDBG=y
>>>
>>> but DEBUG is not defined.
>>>
>>> I think it would help if CONFIG_BRCMDBG set DEBUG
>>> or if some of the tests for DEBUG used CONFIG_BRCMDBG instead.
>>
>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>> found the build errors below, apparently a very old issue. It just
>> blames me now because I moved the driver to a new directory :)

It is a very old issue. The thing is that the issue can not really occur
because we have this:

# common flags
subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG

in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
happens in the "kbuild test robot" scenario.

Regards,
Arend

> Something like this maybe? Note I didn't test it with above config.
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
> index 6687812770cc..8c7695fde482 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
> @@ -108,7 +108,7 @@ do {                                    \
>  extern int brcmf_msg_level;
> 
>  struct brcmf_pub;
> -#ifdef DEBUG
> +#ifdef CONFIG_BRCMDBG
>  void brcmf_debugfs_init(void);
>  void brcmf_debugfs_exit(void);
>  int brcmf_debug_attach(struct brcmf_pub *drvr);
>
Kalle Valo Feb. 16, 2017, 10:01 a.m. UTC | #2
Arend Van Spriel <arend.vanspriel@broadcom.com> writes:

> On 16-2-2017 10:39, Rafał Miłecki wrote:
>> On 02/16/2017 10:31 AM, Kalle Valo wrote:
>>> (Adding linux-wireless)
>>>
>>> Randy Dunlap <rdunlap@infradead.org> writes:
>>>
>>>> On 02/07/17 02:02, kbuild test robot wrote:
>>>>> Hi Kalle,
>>>>>
>>>>> FYI, the error/warning still remains.
>>>>>
>>>>> tree:  
>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>> master
>>>>> head:   8b1b41ee74f9712c355d66dc105bbea663ae0afd
>>>>> commit: 05491d2ccf20b20a1375303441fbbfbd12b24a4f brcm80211: move
>>>>> under broadcom vendor directory
>>>>> date:   1 year, 3 months ago
>>>>> config: mips-allyesconfig (attached as .config)
>>>>> compiler: mips-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
>>>>> reproduce:
>>>>>         wget
>>>>> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
>>>>>
>>>>> -O ~/bin/make.cross
>>>>>         chmod +x ~/bin/make.cross
>>>>>         git checkout 05491d2ccf20b20a1375303441fbbfbd12b24a4f
>>>>>         # save the attached .config to linux build tree
>>>>>         make.cross ARCH=mips
>>>>>
>>>>> All errors (new ones prefixed by >>):
n>>>>
>>>> when both:
>>>>
>>>> CONFIG_BRCM_TRACING=y
>>>> CONFIG_BRCMDBG=y
>>>>
>>>> but DEBUG is not defined.
>>>>
>>>> I think it would help if CONFIG_BRCMDBG set DEBUG
>>>> or if some of the tests for DEBUG used CONFIG_BRCMDBG instead.
>>>
>>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>>> found the build errors below, apparently a very old issue. It just
>>> blames me now because I moved the driver to a new directory :)
>
> It is a very old issue. The thing is that the issue can not really occur
> because we have this:
>
> # common flags
> subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG
>
> in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
> happens in the "kbuild test robot" scenario.

I actually tried to reproduce this with kbuild bot's instructions and
was surprised to see that the build worked ok for me. So the issue is
not that simple.
Arend van Spriel Feb. 16, 2017, 10:30 a.m. UTC | #3
On 16-2-2017 11:01, Kalle Valo wrote:
> Arend Van Spriel <arend.vanspriel@broadcom.com> writes:
> 
>> On 16-2-2017 10:39, Rafał Miłecki wrote:
>>> On 02/16/2017 10:31 AM, Kalle Valo wrote:
>>>> (Adding linux-wireless)
>>>>
>>>> Randy Dunlap <rdunlap@infradead.org> writes:
>>>>
>>>>> On 02/07/17 02:02, kbuild test robot wrote:
>>>>>> Hi Kalle,
>>>>>>
>>>>>> FYI, the error/warning still remains.
>>>>>>
>>>>>> tree:  
>>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>>> master
>>>>>> head:   8b1b41ee74f9712c355d66dc105bbea663ae0afd
>>>>>> commit: 05491d2ccf20b20a1375303441fbbfbd12b24a4f brcm80211: move
>>>>>> under broadcom vendor directory
>>>>>> date:   1 year, 3 months ago
>>>>>> config: mips-allyesconfig (attached as .config)
>>>>>> compiler: mips-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
>>>>>> reproduce:
>>>>>>         wget
>>>>>> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
>>>>>>
>>>>>> -O ~/bin/make.cross
>>>>>>         chmod +x ~/bin/make.cross
>>>>>>         git checkout 05491d2ccf20b20a1375303441fbbfbd12b24a4f
>>>>>>         # save the attached .config to linux build tree
>>>>>>         make.cross ARCH=mips
>>>>>>
>>>>>> All errors (new ones prefixed by >>):
> n>>>>
>>>>> when both:
>>>>>
>>>>> CONFIG_BRCM_TRACING=y
>>>>> CONFIG_BRCMDBG=y
>>>>>
>>>>> but DEBUG is not defined.
>>>>>
>>>>> I think it would help if CONFIG_BRCMDBG set DEBUG
>>>>> or if some of the tests for DEBUG used CONFIG_BRCMDBG instead.
>>>>
>>>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>>>> found the build errors below, apparently a very old issue. It just
>>>> blames me now because I moved the driver to a new directory :)
>>
>> It is a very old issue. The thing is that the issue can not really occur
>> because we have this:
>>
>> # common flags
>> subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG
>>
>> in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
>> happens in the "kbuild test robot" scenario.
> 
> I actually tried to reproduce this with kbuild bot's instructions and
> was surprised to see that the build worked ok for me. So the issue is
> not that simple.

Hi Kalle,

Here is the old email exchange we had about this [1]. In my opinion this
is a Kbuild issue that needs to be looked into.

Regards,
Arend

[1] http://www.spinics.net/lists/linux-wireless/msg142122.html
Fengguang Wu Feb. 16, 2017, 1:08 p.m. UTC | #4
Hi all,

Yes sorry, it's a false report related to how we do bisects.

>>>>>> CONFIG_BRCM_TRACING=y
>>>>>> CONFIG_BRCMDBG=y
>>>>>>
>>>>>> but DEBUG is not defined.
>>>>>>
>>>>>> I think it would help if CONFIG_BRCMDBG set DEBUG
>>>>>> or if some of the tests for DEBUG used CONFIG_BRCMDBG instead.
>>>>>
>>>>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>>>>> found the build errors below, apparently a very old issue. It just
>>>>> blames me now because I moved the driver to a new directory :)
>>>
>>> It is a very old issue. The thing is that the issue can not really occur
>>> because we have this:
>>>
>>> # common flags
>>> subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG
>>>
>>> in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
>>> happens in the "kbuild test robot" scenario.

As an optimization, the robot often does "partial builds" during bisects.
For example, when the error is found in

        drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c

It'll try

        make drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.o

And verify the bisect result with

        make drivers/net/wireless/broadcom/brcm80211/brcmfmac/

However in this case the whole dir is moved, so both logics failed to
give correct results. We'll check how to improve this. Sorry for the
confusions!

>> I actually tried to reproduce this with kbuild bot's instructions and
>> was surprised to see that the build worked ok for me. So the issue is
>> not that simple.
>
>Hi Kalle,
>
>Here is the old email exchange we had about this [1]. In my opinion this
>is a Kbuild issue that needs to be looked into.
>
>Regards,
>Arend
>
>[1] http://www.spinics.net/lists/linux-wireless/msg142122.html

Thanks,
Fengguang
Kalle Valo Feb. 16, 2017, 1:18 p.m. UTC | #5
Arend Van Spriel <arend.vanspriel@broadcom.com> writes:

> On 16-2-2017 11:01, Kalle Valo wrote:
>> Arend Van Spriel <arend.vanspriel@broadcom.com> writes:
>> 
>>> On 16-2-2017 10:39, Rafał Miłecki wrote:
>>>> On 02/16/2017 10:31 AM, Kalle Valo wrote:
>>>>> (Adding linux-wireless)
>>>>>
>>>>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>>>>> found the build errors below, apparently a very old issue. It just
>>>>> blames me now because I moved the driver to a new directory :)
>>>
>>> It is a very old issue. The thing is that the issue can not really occur
>>> because we have this:
>>>
>>> # common flags
>>> subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG
>>>
>>> in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
>>> happens in the "kbuild test robot" scenario.
>> 
>> I actually tried to reproduce this with kbuild bot's instructions and
>> was surprised to see that the build worked ok for me. So the issue is
>> not that simple.
>
> Hi Kalle,
>
> Here is the old email exchange we had about this [1]. In my opinion this
> is a Kbuild issue that needs to be looked into.
>
> Regards,
> Arend
>
> [1] http://www.spinics.net/lists/linux-wireless/msg142122.html

Heh, I had completely forgotten that we had discussed this before :)

Fengguang and the kbuild bot team, do you have any ideas why only the
bot is seeing this?
Fengguang Wu Feb. 17, 2017, 1:45 a.m. UTC | #6
Hi Kalle,

On Thu, Feb 16, 2017 at 03:18:48PM +0200, Kalle Valo wrote:
>Arend Van Spriel <arend.vanspriel@broadcom.com> writes:
>
>> On 16-2-2017 11:01, Kalle Valo wrote:
>>> Arend Van Spriel <arend.vanspriel@broadcom.com> writes:
>>>
>>>> On 16-2-2017 10:39, Rafał Miłecki wrote:
>>>>> On 02/16/2017 10:31 AM, Kalle Valo wrote:
>>>>>> (Adding linux-wireless)
>>>>>>
>>>>>> Arend or Rafał, would you be able to look at this build problem? Kbuild
>>>>>> found the build errors below, apparently a very old issue. It just
>>>>>> blames me now because I moved the driver to a new directory :)
>>>>
>>>> It is a very old issue. The thing is that the issue can not really occur
>>>> because we have this:
>>>>
>>>> # common flags
>>>> subdir-ccflags-$(CONFIG_BRCMDBG)        += -DDEBUG
>>>>
>>>> in drivers/net/wireless/broadcom/brcm80211/Makefile. So no clue what
>>>> happens in the "kbuild test robot" scenario.
>>>
>>> I actually tried to reproduce this with kbuild bot's instructions and
>>> was surprised to see that the build worked ok for me. So the issue is
>>> not that simple.
>>
>> Hi Kalle,
>>
>> Here is the old email exchange we had about this [1]. In my opinion this
>> is a Kbuild issue that needs to be looked into.
>>
>> Regards,
>> Arend
>>
>> [1] http://www.spinics.net/lists/linux-wireless/msg142122.html
>
>Heh, I had completely forgotten that we had discussed this before :)
>
>Fengguang and the kbuild bot team, do you have any ideas why only the
>bot is seeing this?

I guess the root cause is due to the robot's doing partial builds like
these

        make drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.o
        make drivers/net/wireless/broadcom/brcm80211/brcmfmac/

The solution I come about is to climb up to higher level dirs like 

        make drivers/net/wireless/

which is less likely to have Makefile tricks and still maintain fast
enough build tests.

Thanks,
Fengguang
diff mbox

Patch

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
index 6687812770cc..8c7695fde482 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
@@ -108,7 +108,7 @@  do {									\
  extern int brcmf_msg_level;

  struct brcmf_pub;
-#ifdef DEBUG
+#ifdef CONFIG_BRCMDBG
  void brcmf_debugfs_init(void);
  void brcmf_debugfs_exit(void);
  int brcmf_debug_attach(struct brcmf_pub *drvr);