Subject: Re: linux-next: Tree for Apr 19 (bcache)

From: Coly Li <[email-masked]>
Date: Tue, 20 Apr 2021 12:24:11 +0800

On 4/20/21 1:50 AM, Jens Axboe wrote:
> On 4/19/21 10:26 AM, Coly Li wrote:
>> On 4/19/21 11:40 PM, Randy Dunlap wrote:
>>> On 4/19/21 3:23 AM, Stephen Rothwell wrote:
>>>> Hi all,
>>>>
>>>> Changes since 20210416:
>>>>
>>>
>>> on x86_64:
>>>
>>> when
>>> # CONFIG_BLK_DEV is not set
>>>
>>>
>>> WARNING: unmet direct dependencies detected for LIBNVDIMM
>>>   Depends on [n]: PHYS_ADDR_T_64BIT [=y] && HAS_IOMEM [=y] && BLK_DEV [=n]
>>>   Selected by [y]:
>>>   - BCACHE_NVM_PAGES [=y] && MD [=y] && BCACHE [=y] && PHYS_ADDR_T_64BIT [=y]
>>>
>>>
>>> Full randconfig file is attached.
>>>
>>
>> I need hint from kbuild expert.
>>
>> My original idea to use "select LIBNVDIMM" is to avoid the
>> BCACHE_NVM_PAGES option to disappear if LIBNVDIMM is not enabled.
>> Otherwise if nvdimm driver is not configure, users won't know there is a
>> BCACHE_NVM_PAGES option unless they read bcache Kconfig file.
> 
> But why? That's exactly how it should work. Just use depends to set the
> dependency.
> 
>> But I see nvdimm's Kconfig, it uses "depends on BLK_DEV", I understand
>> it is acceptable that LIBNVDIMM option to disappear from "make
>> menuconfig" if BLK_DEV is not enabled.
>>
>> For such condition, which one is the proper way to set the dependence ?
>> - Change "select LIBNVDIMM" and "select DAX" to "depends on LIBNVDIMM"
>> and "depends on DAX" in bcache Kconfig
>> - Or change "depends on BLK_DEV" to "select BLK_DEV" in nvdimm Kconfig.
> 
> The former.
> 

Copied. Thanks for the hint. I will post a fix soon.

Coly Li