Subject: Re: randconfig build error with next-20141001, in drivers/i2c/algos/i2c-algo-bit.c

From: Oliver Hartkopp <[email-masked]>
Date: Mon, 06 Oct 2014 10:06:00 +0200

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?).

So what it wrong on the current Kconfig entry?
Is 'select' deprecated?

Or did randconfig generate a configuration that would not be possible by
properly generating the config file with 'make menuconfig' ??

Please explain.

Thanks,
Oliver

On 10/02/2014 01:26 AM, Randy Dunlap wrote:
> On 10/01/14 14:37, Jim Davis wrote:
>> Building with the attached random configuration file,
> 
> Also:
> warning: (CAN_PEAK_PCIEC && SFC && IGB && VIDEO_TW68 && DRM && FB_DDC && FB_VIA) selects I2C_ALGOBIT which has unmet direct dependencies (I2C)
> 
>> drivers/i2c/algos/i2c-algo-bit.c: In function ‘i2c_bit_add_bus’:
>> drivers/i2c/algos/i2c-algo-bit.c:658:33: error: ‘i2c_add_adapter’
>> undeclared (first use in this function)
>>   return __i2c_bit_add_bus(adap, i2c_add_adapter);
>>                                  ^
>> drivers/i2c/algos/i2c-algo-bit.c:658:33: note: each undeclared
>> identifier is reported only once for each function it appears in
>> drivers/i2c/algos/i2c-algo-bit.c: In function ‘i2c_bit_add_numbered_bus’:
>> drivers/i2c/algos/i2c-algo-bit.c:664:33: error:
>> ‘i2c_add_numbered_adapter’ undeclared (first use in this function)
>>   return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter);
>>                                  ^
>>   CC      net/openvswitch/actions.o
>> drivers/i2c/algos/i2c-algo-bit.c: In function ‘i2c_bit_add_bus’:
>> drivers/i2c/algos/i2c-algo-bit.c:659:1: warning: control reaches end of non-void
>>  function [-Wreturn-type]
>>  }
>>  ^
>> drivers/i2c/algos/i2c-algo-bit.c: In function ‘i2c_bit_add_numbered_bus’:
>> drivers/i2c/algos/i2c-algo-bit.c:665:1: warning: control reaches end of non-void
>>  function [-Wreturn-type]
>>  }
>>  ^
>> make[3]: *** [drivers/i2c/algos/i2c-algo-bit.o] Error 1
> 
> In drivers/media/pci/tw68/Kconfig, VIDEO_TW68 should depend on I2C in order
> to make it safe to select I2C_ALGOBIT.
> 
> In drivers/net/can/sja1000/Kconfig, CAN_PEAK_PCIEC should depend on I2C
> instead of selecting I2C (and change the help text).
> 
>