Re: [PATCH] vfio: Fix build break when SPAPR_TCE_IOMMU=n

From: Paolo Bonzini
Date: Mon Nov 07 2016 - 11:31:02 EST




On 07/11/2016 17:25, Alex Williamson wrote:
> On Mon, 07 Nov 2016 19:34:42 +1100
> Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
>
>> Paolo Bonzini <pbonzini@xxxxxxxxxx> writes:
>>> On 04/11/2016 06:48, Michael Ellerman wrote:
>>>> diff --git a/drivers/vfio/Kconfig b/drivers/vfio/Kconfig
>>>> index da6e2ce77495..6b51a4ebed8a 100644
>>>> --- a/drivers/vfio/Kconfig
>>>> +++ b/drivers/vfio/Kconfig
>>>> @@ -6,12 +6,12 @@ config VFIO_IOMMU_TYPE1
>>>> config VFIO_IOMMU_SPAPR_TCE
>>>> tristate
>>>> depends on VFIO && SPAPR_TCE_IOMMU
>>>> - default n
>>>> + default VFIO
>>>
>>> No need to depend on VFIO since you already have it in "default".
>
> depends and defaults are different beasts though, if VFIO is not
> enabled and we're not on a powerpc system with SPAPR,
> VFIO_IOMMU_SPAPR_TCE should not be selectable, not just default to 'n'.

AFAIU without a prompt nothing is selectable anyway (hence my preference
for a shorthand).

Paolo

>>
>> True, I can take that out.
>>
>>> (I assume you cannot use "default y" because "depends on" doesn't downgrade
>>> "y" to "m" when VFIO is a module.
>>
>> Correct.
>>
>>> A shorthand is
>>>
>>> def_tristate VFIO && SPAPR_TCE_IOMMU
>>
>> Yep. My experience though is that a lot of folks don't really know what
>> that means. So I prefer to spell it out with an explicit type, depends
>> and default.
>>
>> But I'll respin it that way if Alex prefers the shorter style.
>
> Perhaps I'm one of those people. Non-powerpc archs should not have an
> option to select this, which is why the depends is there, AIUI. So
> long as we don't start exposing options that aren't relevant to a
> platform, I'm flexible on what shorthands we use, but you may need to
> teach me about them first. Thanks,
>
> Alex
>