> On Jul 19, 2022, at 10:39 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Tue, Jul 19, 2022 at 01:27:51PM +0000, Chuck Lever III wrote: >>> CONFIG_SUNRPC_GSS_MODULE is set if SUNRPC_GSS is built as a module. >>> CONFIG_*_MODULE is Kconfig-generated magic. >> >> I can drop this patch, but I still have questions (and I know you are >> just the messenger, you might not know the answers). >> >> Where is this convention documented? >> >> When would CONFIG_SUNRPC_GSS_MODULE be defined but CONFIG_SUNRPC_GSS isn't? > > If .config has CONFIG_SUNRPC_GSS=y, CONFIG_SUNRPC_GSS is set, but > CONFIG_SUNRPC_GSS_MODULE is not. > > If .config has CONFIG_SUNRPC_GSS=m, CONFIG_SUNRPC_GSS_MODULE is set, > but CONFIG_SUNRPC_GSS is not. > > As Anna said these days we have the IS_ENABLED helper to mostly hide > this. IS_ENABLED was added by 2a11c8ea20bf ("kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()"), in July of 2011. The commit that added the explicit check for CONFIG_SUNRPC_GSS_MODULE is b084f598df36 ("nfsd: fix dependency of nfsd on auth_rpcgss"), written in May of 2011. So it's likely this is indeed just an open-coded IS_ENABLED(). -- Chuck Lever