On Wed, Oct 18, 2023 at 11:19:07AM +0100, Joao Martins wrote: > On 16/10/2023 19:05, Jason Gunthorpe wrote: > > On Mon, Oct 16, 2023 at 06:52:50PM +0100, Joao Martins wrote: > >> On 16/10/2023 17:34, Jason Gunthorpe wrote: > >>> On Mon, Oct 16, 2023 at 05:25:16PM +0100, Joao Martins wrote: > >>>> diff --git a/drivers/iommu/iommufd/Kconfig b/drivers/iommu/iommufd/Kconfig > >>>> index 99d4b075df49..96ec013d1192 100644 > >>>> --- a/drivers/iommu/iommufd/Kconfig > >>>> +++ b/drivers/iommu/iommufd/Kconfig > >>>> @@ -11,6 +11,13 @@ config IOMMUFD > >>>> > >>>> If you don't know what to do here, say N. > >>>> > >>>> +config IOMMUFD_DRIVER > >>>> + bool "IOMMUFD provides iommu drivers supporting functions" > >>>> + default IOMMU_API > >>>> + help > >>>> + IOMMUFD will provides supporting data structures and helpers to IOMMU > >>>> + drivers. > >>> > >>> It is not a 'user selectable' kconfig, just make it > >>> > >>> config IOMMUFD_DRIVER > >>> tristate > >>> default n > >>> > >> tristate? More like a bool as IOMMU drivers aren't modloadable > > > > tristate, who knows what people will select. If the modular drivers > > use it then it is forced to a Y not a M. It is the right way to use kconfig.. > > > Making it tristate will break build bisection in this module with errors like this: > > [I say bisection, because aftewards when we put IOMMU drivers in the mix, these > are always builtin, so it ends up selecting IOMMU_DRIVER=y.] > > ERROR: modpost: missing MODULE_LICENSE() in drivers/iommu/iommufd/iova_bitmap.o > > iova_bitmap is no module, and making it tristate allows to build it as a module > as long as one of the selectors of is a module. 'bool' is actually more accurate > to what it is builtin or not. It is a module if you make it tristate, add the MODULE_LICENSE Jason