[yocto] Kernel configuration problem/confusion

Greg Wilson-Lindberg GWilson at sakuraus.com
Wed Dec 27 09:11:22 PST 2017


Hi Bruce,

First, the kernel is 4.4.50, the recipe is linux-raspberrypi_4.4.bb in meta-raspberrypi. My image recipe is based on one from Qt, but it is using the kernel recipe in meta-raspberry.


I changed my .bbappend to:

# Scribe additions to kernel configuration

# Enable MAX9768
#CONFIG_SOC_ALL_CODECS=m
#CONFIG_COMPILE_TEST=y
#CONFIG_SND_SOC_MAX9768=m

# Enable MAX11606
IIO=y
CONFIG_MAX1363=m


and I get:

WARNING: linux-raspberrypi-1_4.4.50+gitAUTOINC+04c8e47067-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:

---------- CONFIG_MAX1363 -----------------
Config: CONFIG_MAX1363
From: /home/gwilson/Qt-5.9/Yocto-build-RPi3/build-raspberrypi3/tmp/work-shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
Requested value:  CONFIG_MAX1363=m
Actual value:     # CONFIG_MAX1363 is not set

Config 'MAX1363' has the following conditionals:
  I2C (value: "y")
Dependency values are:
  I2C [y]

It's acting like there is some hidden dependency that it is not telling us about. I tried running menuconfig and that allows me so set it without any problems.

Regards,
Greg

________________________________
From: Bruce Ashfield <bruce.ashfield at windriver.com>
Sent: Saturday, December 23, 2017 7:29 PM
To: Greg Wilson-Lindberg; yocto at yoctoproject.org
Subject: Re: [yocto] Kernel configuration problem/confusion



On 12/22/2017 6:17 PM, Greg Wilson-Lindberg wrote:
> Hi Bruce,
> First, thanks for the unbelievably quick response.
>
> I searched the Yocto sources and didn't find anything that was trying to
> manipulate either of the variables except my .cfg.
>
> The memuconfig search for MAX9768 results in:
> Symbol: SND_SOC_MAX9768 [=n]
>      Type  : tristate
>        Defined at sound/soc/codecs/Kconfig:917
>        Depends on: SOUND [=y] && !M68K && !UML && SND [=m] && SND_SOC [=m]
>        Selected by: SND_SOC_ALL_CODECS [=n] && SOUND [=y] && !M68K &&
> !UML && SND [=m] && SND_SOC [=m] && COMPILE_TEST [=n] && I2C [=y]
> To my (untrained) eye it seems that I need SND_SOC_ALL_CODECS
> & COMPILE_TEST. I tried setting them but I get a similar error
> for COMPILE_TEST. A search for it yields:
>   Symbol: COMPILE_TEST [=n]
>      Type  : boolean
>      Prompt: Compile also drivers which will not load
>        Location:
>      (1) -> General setup
>        Defined at init/Kconfig:56
> Which doesn't seem to suggest that there should be any problems setting it.


True, but since SND_SOC_MAX9768 doesn't have any help text (aka
a prompt in Kconfig speak) then it isn't something that you can
actually reach by menuconfig and by extension .. it must be selected
by other code. So you are on the right track. Either those symbols
are also missing dependencies, or MAX9768 itself is missing a
dependency.

>
> The search for MAX1363 yields:
>   Symbol: MAX1363 [=n]
>      Type  : tristate
>       Prompt: Maxim max1363 ADC driver
>        Location:
>          -> Device Drivers
>            -> Industrial I/O support (IIO [=m])
>      (1)     -> Analog to digital converters
>        Defined at drivers/iio/adc/Kconfig:218
>        Depends on: IIO [=m] && I2C [=y]
>        Selects: IIO_BUFFER [=y] && IIO_TRIGGERED_BUFFER [=n]
> Which doesn't seem to mereveal any reason that I shouldn't be able to
> set it.

At a glance, I'm also not seeing the reason. Did you try forcing
IIO=y and seeing if there's a difference ? =m should satisfy that
Kconfig dependency, but it is worth checking.

Is this a mainline kernel ? or something else that I could build ?
Maybe with a quick test here, it would be more obvious.

Bruce

>
> Regards,
> Greg
> ------------------------------------------------------------------------
> *From:* Bruce Ashfield <bruce.ashfield at windriver.com>
> *Sent:* Friday, December 22, 2017 12:27:22 PM
> *To:* Greg Wilson-Lindberg; yocto at yoctoproject.org
> *Subject:* Re: [yocto] Kernel configuration problem/confusion
>
>
> On 12/22/2017 3:51 PM, Greg Wilson-Lindberg wrote:
>> I'm trying to add some kernel configuration to a Raspberry pi3 yocto
>> build.  I've got the .cfg fragment being read in, but I'm getting
>> warnings that indicate that they are not making the desired changes.
>>
>>
>> The first one is CONFIG_SND_SOC_MAX9768. This is a sound codec and the
>> Kconfig file has it in a long list of select's. the one for the MAX9768 is:
>>
>>      select CONFIG_SND_SOC_MAX9768 if I2C
>>
>> I2C is set, but CONFIG_SND_SOC_MAX9768 ends up undefined. the warning
>> I'm getting is:
>>
>> ---------- CONFIG_SND_SOC_MAX9768 -----------------
>> Config: CONFIG_SND_SOC_MAX9768
>> From:
>> /home/gwilson/Qt-5.9/Yocto-build-RPi3/build-raspberrypi3/tmp/work-shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
>> Requested value:  CONFIG_SND_SOC_MAX9768=y
>> Actual value:
>>
>> Config 'SND_SOC_MAX9768' has the following conditionals:
>> Dependency values are:
>>
>> SND_SOC_MAX9768 ends up not being selected even though I try to set it
>> ti 'y'
>>
>>
>> The second one is CONFIG_MAX1363, this is an ADC that I'm trying to set,
>> the warning is:
>>
>> ---------- CONFIG_MAX1363 -----------------
>> Config: CONFIG_MAX1363
>> From:
>> /home/gwilson/Qt-5.9/Yocto-build-RPi3/build-raspberrypi3/tmp/work-shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
>> Requested value:  CONFIG_MAX1363=y
>> Actual value:     # CONFIG_MAX1363 is not set
>>
>> Config 'MAX1363' has the following conditionals:
>>    I2C (value: "y")
>> Dependency values are:
>>    I2C [y]
>>
>> It ends up being not set. In both cases the value that I'm trying to set
>> is ignored. Any insight would be greatly appreciated.
>
> The python library that tries to detangle the Kconfig dependencies
> isn't perfect (but I do have an update for it pending), so you might
> not be getting the entire story in that information dumb.
>
> Two things to check:
>
>    - there are no other fragments that are disabling the same option
>    - use menuconfig in the kernel to search the option and see what it
>      reports for the dependencies.
>
> There's some constraint or overriding command that is not allowing the
> option into the final config, we just need to track it down.
>
> Bruce
>
>>
>>
>> Regards,
>>
>> Greg
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20171227/1aa7a9f2/attachment.html>


More information about the yocto mailing list