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

From: Coly Li
Date: Mon Apr 19 2021 - 12:26:53 EST


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


I want to ask for a proper way to handle such dependence, and I will
follow the guide for now and in future.

Thanks in advance for the advice.

Coly Li