Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	David Miller <davem@davemloft.net>,
	Networking <netdev@vger.kernel.org>,
	Linux-Next Mailing List <linux-next@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Lunn <andrew@lunn.ch>
Subject: Re: linux-next: build warning after merge of the net-next tree
Date: Tue, 14 Aug 2018 06:28:16 -0700
Message-ID: <2146bdab-2885-931a-b878-4aac10bb1897@roeck-us.net> (raw)
In-Reply-To: <CAK7LNAQgdqpi60eH-Sfnr+U9DKpwCL=wPdhJA6=hpv3cicVotw@mail.gmail.com>

On 08/14/2018 12:05 AM, Masahiro Yamada wrote:
> 2018-07-20 8:19 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
>> 2018-07-20 7:35 GMT+09:00 Guenter Roeck <linux@roeck-us.net>:
>>> On Fri, Jul 20, 2018 at 08:09:06AM +1000, Stephen Rothwell wrote:
>>>> Hi Guenter,
>>>>
>>>> On Thu, 19 Jul 2018 06:49:01 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
>>>>>
>>>>> On 07/18/2018 10:29 PM, Stephen Rothwell wrote:
>>>>>>
>>>>>> On Wed, 18 Jul 2018 20:52:56 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
>>>>>>>
>>>>>>> On 07/18/2018 07:04 PM, Stephen Rothwell wrote:
>>>>>>>>
>>>>>>>> After merging the net-next tree, today's linux-next build (x86_64
>>>>>>>> allmodconfig) produced this warning:
>>>>>>>>
>>>>>>>> *
>>>>>>>> * Restart config...
>>>>>>>> *
>>>>>>>> ....
>>>>>>>>
>>>>>>>> This is output by my "make allmodconfig" and only started after merging
>>>>>>>> the net-next tree today.  It has continued for further merges/builds.
>>>>>>>>
>>>>>>>> I suspect commit
>>>>>>>>
>>>>>>>>      1323061a018a ("net: phy: sfp: Add HWMON support for module sensors")
>>>>>>>>
>>>>>>>> which added an "imply" clause.
>>>>>>>>
>>>>>>> I thought "imply" was better than "depends on HWMON || HWMON=n", but maybe
>>>>>>> not. Is that a caveat when using "imply", and does it mean that "imply"
>>>>>>> should better not be used ?
>>>>>>
>>>>>> I don't know, sorry.  It was just my best guess from what I could see
>>>>>> had changed.
>>>>>>
>>>>>> I wonder if it makes a difference that I am doing my "make
>>>>>> allmodconfig" on top of a previous "make allmodconfig" and some symbols
>>>>>> are marked as "NEW" (though they are not symbols related to the changes
>>>>>> that happened during the net-next tree merge)?
>>>>>>
>>>>>
>>>>> I tried to reproduce the problem, but I don't see the message.
>>>>>
>>>>> What I do see, though, is that "make allmodconfig" on a clean tree,
>>>>> followed by "make menuconfig", results in configuration changes.
>>>>> Specifically,
>>>>>
>>>>>   > CONFIG_ARC_EMAC_CORE=m
>>>>>   > CONFIG_ARC_EMAC=m
>>>>>   > CONFIG_EMAC_ROCKCHIP=m
>>>>>
>>>>> is removed by menuconfig, and a large number of "# ... is not set"
>>>>> configuration lines are added. Weird and bad, since several of the
>>>>> disabled configurations _should_ be enabled by "make allmodconfig",
>>>>> and a large number of hwmon drivers are affected. Bisect does point
>>>>> to "net: phy: sfp: Add HWMON support for module sensors", meaning
>>>>> "imply hwmon" does have severe side effects and can not be used.
>>>>>
>>>>> I'll try to find a fix.
>>>>
>>>> OK, my mistake, the "make allmodconfig" works, the following "make"
>>>> causes the config restart.  (I am actually doing cross builds and using
>>>> an external object directory, in case that matters.)
>>>>
>>>> I removed the "imply HWMON" line added by the above commit and the
>>>> problem went away.  Also, using "depends on HWMON || HWMON=n" instead
>>>> of the imply fixes it.
>>>
>>> Yes, replacing imply with the dependency is what I did in the fixup patch.
>>> Sorry, I should have copied you: https://patchwork.kernel.org/patch/10534925/
>>>
>>> It is a bit different - imply was supposed to enforce HWMON={y,n} if SFP=y,
>>> and the depends line enforces SFP={n,m} if HWMON=m. I have no idea why
>>> imply doesn't work, but I think I'll stay away from it in the future.
>>>
>>> Guenter
>>
>>
>> Hmm, this could be a Kconfig bug.
>>
>> I will take a look.
> 
> 
> Today, I took a look at it.
> 
> The cause of the problem was the circular dependency.
> 
> Somehow, 'imply' is not checked in the circular dependency.
> 
> So, I wrote patches to report this.
> https://patchwork.kernel.org/patch/10565061/
> https://patchwork.kernel.org/patch/10565063/
> 
> 
> If you apply those two patches on top of commit
> 1323061a018a ("net: phy: sfp: Add HWMON support for module sensors")
> It is reported in allmodconfig stage, like this:
> 
> 
> masahiro@grover:~/ref/linux-next$ make allmodconfig
>    HOSTCC  scripts/kconfig/conf.o
>    YACC    scripts/kconfig/zconf.tab.c
>    HOSTCC  scripts/kconfig/zconf.tab.o
>    HOSTLD  scripts/kconfig/conf
> scripts/kconfig/conf  --allmodconfig Kconfig
> drivers/of/Kconfig:68:error: recursive dependency detected!
> drivers/of/Kconfig:68: symbol OF_IRQ depends on IRQ_DOMAIN
> kernel/irq/Kconfig:63: symbol IRQ_DOMAIN is selected by REGMAP
> drivers/base/regmap/Kconfig:6: symbol REGMAP is selected by SENSORS_ASPEED
> drivers/hwmon/Kconfig:352: symbol SENSORS_ASPEED depends on HWMON
> drivers/hwmon/Kconfig:5: symbol HWMON is implied by SFP
> drivers/net/phy/Kconfig:214: symbol SFP depends on PHYLIB
> drivers/net/phy/Kconfig:181: symbol PHYLIB is selected by ARC_EMAC_CORE
> drivers/net/ethernet/arc/Kconfig:18: symbol ARC_EMAC_CORE is selected
> by ARC_EMAC
> drivers/net/ethernet/arc/Kconfig:24: symbol ARC_EMAC depends on OF_IRQ
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> 

Interesting; I thought that "implied" does not really select the symbol.
That means 'imply' just doesn't work for HWMON, and we'll have to stick
with the old "depends on HWMON || HWMON=n".

Thanks,
Guenter

  reply index

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-19  2:04 Stephen Rothwell
2018-07-19  3:52 ` Guenter Roeck
2018-07-19  5:29   ` Stephen Rothwell
2018-07-19 13:49     ` Guenter Roeck
2018-07-19 22:09       ` Stephen Rothwell
2018-07-19 22:35         ` Guenter Roeck
2018-07-19 23:19           ` Masahiro Yamada
2018-07-19 23:37             ` Guenter Roeck
2018-08-14  7:05             ` Masahiro Yamada
2018-08-14 13:28               ` Guenter Roeck [this message]
2018-07-20  1:06           ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2019-11-21  7:34 Stephen Rothwell
2019-11-11  1:39 Stephen Rothwell
2019-11-11  1:45 ` Eric Dumazet
2019-11-11  1:19 Stephen Rothwell
2019-11-11 10:24 ` Russell King - ARM Linux admin
2019-10-07 22:42 Stephen Rothwell
2019-10-09 12:24 ` David Howells
2019-07-08  3:25 Stephen Rothwell
2019-05-23 23:47 Stephen Rothwell
2019-04-23  1:32 Stephen Rothwell
2019-04-16  1:20 Stephen Rothwell
2019-04-16 10:03 ` John Hurley
2019-03-21 23:05 Stephen Rothwell
2019-03-21 23:10 ` Florian Fainelli
2019-02-22  1:06 Stephen Rothwell
2019-02-22  1:10 ` Florian Fainelli
2019-02-13  0:51 Stephen Rothwell
2019-02-13  0:58 ` Florian Fainelli
2019-02-13  0:49 Stephen Rothwell
2019-02-13  0:57 ` Florian Fainelli
2019-02-03 23:44 Stephen Rothwell
2019-02-04  4:26 ` David Miller
2019-02-04  4:32   ` Stephen Rothwell
2018-11-29  0:24 Stephen Rothwell
2018-12-19  2:42 ` Stephen Rothwell
2018-12-19  3:07   ` Gustavo A. R. Silva
2018-12-19  5:37     ` Stephen Rothwell
2018-07-19  1:40 Stephen Rothwell
2018-07-20 20:31 ` Linus Walleij
2018-07-05 23:56 Stephen Rothwell
2018-07-07 11:30 ` David Miller
2018-07-07 12:03   ` Stephen Rothwell
2018-05-29  3:10 Stephen Rothwell
2018-03-13  6:11 Stephen Rothwell
2018-03-13 11:46 ` Gustavo A. R. Silva
2018-03-13 15:33   ` David Miller
2018-03-13 20:28     ` Gustavo A. R. Silva
2018-01-18  1:20 Stephen Rothwell
2017-12-04  0:02 Stephen Rothwell
2017-12-04  6:33 ` Heiner Kallweit
2017-12-04 18:21 ` David Miller
2017-11-15  5:01 Stephen Rothwell
2016-12-09  0:34 Stephen Rothwell
2016-11-16  0:36 Stephen Rothwell
2016-11-16  0:56 ` Martin KaFai Lau
2016-07-27  6:15 Stephen Rothwell
2016-07-27  6:19 ` David Miller
2016-07-27  6:35   ` Stephen Rothwell
2016-07-27  6:45     ` Iyappan Subramanian
2016-07-11  6:13 Stephen Rothwell
2016-07-11  8:16 ` Simon Horman
2016-07-04  3:15 Stephen Rothwell
2016-07-04  5:19 ` Jason Wang
2016-02-15  2:09 Stephen Rothwell
2016-02-15  8:01 ` Nikolay Borisov
2014-05-15  6:47 Stephen Rothwell
2014-05-15 17:39 ` Cong Wang
2014-05-15 17:43   ` David Miller
2014-05-15 18:36     ` Cong Wang
2014-01-06  4:53 Stephen Rothwell
2013-08-21  9:10 Stephen Rothwell
2013-08-21 18:15 ` David Miller
2013-02-18  6:00 Stephen Rothwell
2012-04-23  6:54 Stephen Rothwell
2012-04-23  7:22 ` David Miller

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2146bdab-2885-931a-b878-4aac10bb1897@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git