All of lore.kernel.org
 help / color / mirror / Atom feed
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

  reply	other threads:[~2014-10-06 18:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-01 21:37 randconfig build error with next-20141001, in drivers/i2c/algos/i2c-algo-bit.c Jim Davis
2014-10-01 23:26 ` Randy Dunlap
2014-10-02 15:18   ` Fwd: " Oliver Hartkopp
2014-10-06  7:52     ` Stephane Grosjean
2014-10-06  8:09       ` Oliver Hartkopp
2014-10-06  8:42         ` Stephane Grosjean
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.