From: Randy Dunlap <rdunlap@infradead.org>
To: Oliver Hartkopp <socketcan@hartkopp.net>,
Jim Davis <jim.epost@gmail.com>,
Stephen Rothwell <sfr@canb.auug.org.au>
Cc: linux-next <linux-next@vger.kernel.org>,
Stephane Grosjean <s.grosjean@peak-system.com>,
linux-i2c@vger.kernel.org,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
linux-can@vger.kernel.org
Subject: Re: randconfig build error with next-20141001, in drivers/i2c/algos/i2c-algo-bit.c
Date: Mon, 06 Oct 2014 11:09:44 -0700 [thread overview]
Message-ID: <5432DAE8.5030509@infradead.org> (raw)
In-Reply-To: <5432D3E6.9020805@hartkopp.net>
On 10/06/14 10:39, Oliver Hartkopp wrote:
>
>
> On 10/06/2014 06:52 PM, Randy Dunlap wrote:
>> On 10/06/14 01:06, Oliver Hartkopp wrote:
>>> Hello all,
>>>
>>> just to get it right:
>>>
>>> So far it looks like this in linux/drivers/net/can/sja1000/Kconfig
>>>
>>> config CAN_PEAK_PCIEC
>>> bool "PEAK PCAN-ExpressCard Cards"
>>> depends on CAN_PEAK_PCI
>>> select I2C
>>> select I2C_ALGOBIT
>>>
>>> If one would change the
>>>
>>> select I2C
>>>
>>> into
>>>
>>> depends on I2C
>>>
>>> IMHO the CAN_PEAK_PCIEC hardware would *only* be visible and selectable when
>>> I2C was selected before (from anyone else?).
>>
>> That is correct.
>>
>>> So what it wrong on the current Kconfig entry?
>>> Is 'select' deprecated?
>>
>> No, it's not deprecated. It's just dangerous. and driver configs should not
>> enable entire subsystems via 'select'.
>>
>>> Or did randconfig generate a configuration that would not be possible by
>>> properly generating the config file with 'make menuconfig' ??
>>
>> randconfig generated a config for another driver which causes a build error,
>> not for a CAN driver. The CAN driver does not have a build error AFAIK.
>> Its Kconfig is just doing something with a very big & ugly stick.
>
> But when it is not done like this, we might have an invisible config option in
> the corner case that I2C is not enabled by anyone else.
>
> So what would you propose then?
>
> AFAICS there is 'just' a style problem as 'configs should not enable entire
> subsystems'. But it finally is a correct and valid Kconfig, right?
Yes, right.
> When I2C is already enabled - fine. If (unlikely) I2C is not enabled, we need
> to pull the ugly stick. So what is dangerous on this? Was there any misuse of
> select statements before?
No syntactic misuse, more of a style thing, like you say.
The danger is in select being a big stick that does not check for symbol
dependencies.
In the unlikely case that I2C is not enabled, the user should have to enable
it instead of a solitary driver enabling it. IOW, if a subsystem is disabled,
the user probably wanted it that way and a single driver should not override
that setting.
--
~Randy
next prev parent reply other threads:[~2014-10-06 18:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CA+r1ZhiL1y9aeLeJjpd_1DtzOG_oyoPg7XsTPJ9G-XY5G2DfCQ@mail.gmail.com>
2014-10-01 23:26 ` randconfig build error with next-20141001, in drivers/i2c/algos/i2c-algo-bit.c Randy Dunlap
2014-10-06 8:06 ` Oliver Hartkopp
2014-10-06 16:52 ` Randy Dunlap
2014-10-06 17:39 ` Oliver Hartkopp
2014-10-06 18:09 ` Randy Dunlap [this message]
2014-10-07 8:58 ` Oliver Hartkopp
2014-10-07 12:37 ` Stephane Grosjean
[not found] ` <5433AB31.9090603-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2014-10-07 17:03 ` Randy Dunlap
Reply instructions:
You may reply publicly 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=5432DAE8.5030509@infradead.org \
--to=rdunlap@infradead.org \
--cc=jim.epost@gmail.com \
--cc=linux-can@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=s.grosjean@peak-system.com \
--cc=sfr@canb.auug.org.au \
--cc=socketcan@hartkopp.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).