Re: [PATCH, RESEND] scsi: lpfc: fix linking against modular NVMe support

From: Arnd Bergmann
Date: Wed Jul 26 2017 - 05:16:17 EST


On Wed, Jul 26, 2017 at 11:08 AM, Johannes Thumshirn <jthumshirn@xxxxxxx> wrote:
> On Fri, Jul 21, 2017 at 10:53:46PM +0200, Arnd Bergmann wrote:
>> I originally sent the patch in March 2013, the day after the broken
> ^ 2017?

Oops. Let me resend that.

>> + depends on NVME_TARGET_FC || NVME_TARGET_FC=n
>> + depends on NVME_FC || NVME_FC=n
>
> OK Kconfig is black magic, but X || X=n ? I have no doubt you do the right
> thing, I just don't understand it.

We use this construct in many places these days. A few years ago I added
a comment whenever I added an instance, but most others don't so I treat
it as an idiom now.

"depends on X" means that if X=m, the current symbol can only be "m" or
"n", while "X=y" means it can have any value.

So for "depends on X || X=n", the current symbol cannot be "y" when "X=m",
but otherwise can have any of the three possibilities. This is exactly what
we need here.

Arnd