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