From: Michael Ellerman <mpe@ellerman.id.au>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@ozlabs.org, aik@ozlabs.ru,
gwshan@linux.vnet.ibm.com
Subject: Re: [PATCH] vfio: Fix build break when SPAPR_TCE_IOMMU=n
Date: Tue, 08 Nov 2016 10:49:35 +1100 [thread overview]
Message-ID: <87wpgeluk0.fsf@concordia.ellerman.id.au> (raw)
In-Reply-To: <20161107092505.429f07d6@t450s.home>
Alex Williamson <alex.williamson@redhat.com> writes:
> On Mon, 07 Nov 2016 19:34:42 +1100
> Michael Ellerman <mpe@ellerman.id.au> wrote:
>> Paolo Bonzini <pbonzini@redhat.com> 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'.
Right. But dropping VFIO from the depends won't change that. In fact it
has no effect because the entire directory is not built if VFIO=n.
See drivers/Makefile:
obj-$(CONFIG_VFIO) += vfio/
So we don't need the depends on VFIO there.
>> > 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,
Using the def_tristate trick won't expose the option to users, because
it has no description it's not user selectable. But it does make the
symbol exist on an x86 build, and it appears in the .config.
eg, using def_tristate you get:
# CONFIG_VFIO_IOMMU_SPAPR_TCE is not set
# CONFIG_VFIO is not set
Whereas using depends all you get is:
# CONFIG_VFIO is not set
So using def_tristate in this case is not entirely equivalent.
cheers
next prev parent reply other threads:[~2016-11-07 23:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-04 5:48 [PATCH] vfio: Fix build break when SPAPR_TCE_IOMMU=n Michael Ellerman
2016-11-04 10:01 ` Paolo Bonzini
2016-11-07 8:34 ` Michael Ellerman
2016-11-07 16:25 ` Alex Williamson
2016-11-07 16:30 ` Paolo Bonzini
2016-11-07 23:49 ` Michael Ellerman [this message]
2016-11-08 0:07 ` Alex Williamson
2017-02-02 9:50 ` Michael Ellerman
2017-02-02 17:08 ` Alex Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wpgeluk0.fsf@concordia.ellerman.id.au \
--to=mpe@ellerman.id.au \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=gwshan@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=pbonzini@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox