diff mbox

infiniband: mlx5: fix build error when INFINIBAND_USER_ACCESS=m

Message ID 81ea9f01-4624-38d7-2bfe-1dd7063fa3f0@infradead.org (mailing list archive)
State Superseded
Headers show

Commit Message

Randy Dunlap April 16, 2018, 9:21 p.m. UTC
From: Randy Dunlap <rdunlap@infradead.org>

Fix build errors when INFINIBAND_USER_ACCESS=m and MLX5_INFINIBAND=y.
The build error occurs when the mlx5 driver code attempts to use
USER_ACCESS interfaces, which are built as a loadable module.

Fixes these build errors:

drivers/infiniband/hw/mlx5/main.o: In function `populate_specs_root':
../drivers/infiniband/hw/mlx5/main.c:4982: undefined reference to `uverbs_default_get_objects'
../drivers/infiniband/hw/mlx5/main.c:4994: undefined reference to `uverbs_alloc_spec_tree'
drivers/infiniband/hw/mlx5/main.o: In function `depopulate_specs_root':
../drivers/infiniband/hw/mlx5/main.c:5001: undefined reference to `uverbs_free_spec_tree'

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Matan Barak <matanb@mellanox.com>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>
Cc: Doug Ledford <dledford@redhat.com>
Cc: linux-rdma@vger.kernel.org
Cc: stable@vger.kernel.org # reported against 4.16
---
 drivers/infiniband/hw/mlx5/Kconfig |    1 +
 1 file changed, 1 insertion(+)



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jason Gunthorpe April 16, 2018, 9:55 p.m. UTC | #1
On Mon, Apr 16, 2018 at 02:21:07PM -0700, Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
> 
> Fix build errors when INFINIBAND_USER_ACCESS=m and MLX5_INFINIBAND=y.
> The build error occurs when the mlx5 driver code attempts to use
> USER_ACCESS interfaces, which are built as a loadable module.
> 
> Fixes these build errors:
> 
> drivers/infiniband/hw/mlx5/main.o: In function `populate_specs_root':
> ../drivers/infiniband/hw/mlx5/main.c:4982: undefined reference to `uverbs_default_get_objects'
> ../drivers/infiniband/hw/mlx5/main.c:4994: undefined reference to `uverbs_alloc_spec_tree'
> drivers/infiniband/hw/mlx5/main.o: In function `depopulate_specs_root':
> ../drivers/infiniband/hw/mlx5/main.c:5001: undefined reference to `uverbs_free_spec_tree'
> 
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Matan Barak <matanb@mellanox.com>
> Cc: Jason Gunthorpe <jgg@mellanox.com>
> Cc: Leon Romanovsky <leonro@mellanox.com>
> Cc: Doug Ledford <dledford@redhat.com>
> Cc: linux-rdma@vger.kernel.org
> Cc: stable@vger.kernel.org # reported against 4.16
>  drivers/infiniband/hw/mlx5/Kconfig |    1 +
>  1 file changed, 1 insertion(+)
> 
> +++ lnx-417-rc1/drivers/infiniband/hw/mlx5/Kconfig
> @@ -1,6 +1,7 @@
>  config MLX5_INFINIBAND
>  	tristate "Mellanox Connect-IB HCA support"
>  	depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
> +	select INFINIBAND_USER_ACCESS

Shouldn't this be done via

	depends on m || INFINIBAND_USER_ACCESS != m

?

We can turn off USER_ACCESS and still successfully compile the driver.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Randy Dunlap April 17, 2018, 1:49 a.m. UTC | #2
On 04/16/18 14:55, Jason Gunthorpe wrote:
> On Mon, Apr 16, 2018 at 02:21:07PM -0700, Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@infradead.org>
>>
>> Fix build errors when INFINIBAND_USER_ACCESS=m and MLX5_INFINIBAND=y.
>> The build error occurs when the mlx5 driver code attempts to use
>> USER_ACCESS interfaces, which are built as a loadable module.
>>
>> Fixes these build errors:
>>
>> drivers/infiniband/hw/mlx5/main.o: In function `populate_specs_root':
>> ../drivers/infiniband/hw/mlx5/main.c:4982: undefined reference to `uverbs_default_get_objects'
>> ../drivers/infiniband/hw/mlx5/main.c:4994: undefined reference to `uverbs_alloc_spec_tree'
>> drivers/infiniband/hw/mlx5/main.o: In function `depopulate_specs_root':
>> ../drivers/infiniband/hw/mlx5/main.c:5001: undefined reference to `uverbs_free_spec_tree'
>>
>> Reported-by: kbuild test robot <lkp@intel.com>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: Matan Barak <matanb@mellanox.com>
>> Cc: Jason Gunthorpe <jgg@mellanox.com>
>> Cc: Leon Romanovsky <leonro@mellanox.com>
>> Cc: Doug Ledford <dledford@redhat.com>
>> Cc: linux-rdma@vger.kernel.org
>> Cc: stable@vger.kernel.org # reported against 4.16
>>  drivers/infiniband/hw/mlx5/Kconfig |    1 +
>>  1 file changed, 1 insertion(+)
>>
>> +++ lnx-417-rc1/drivers/infiniband/hw/mlx5/Kconfig
>> @@ -1,6 +1,7 @@
>>  config MLX5_INFINIBAND
>>  	tristate "Mellanox Connect-IB HCA support"
>>  	depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
>> +	select INFINIBAND_USER_ACCESS
> 
> Shouldn't this be done via
> 
> 	depends on m || INFINIBAND_USER_ACCESS != m
> 
> ?
> 
> We can turn off USER_ACCESS and still successfully compile the driver.

Argh, thanks, I didn't notice that.  v2 on the way but not quite the way
that you mentioned, more like it's done in other (netdev) places.
diff mbox

Patch

--- lnx-417-rc1.orig/drivers/infiniband/hw/mlx5/Kconfig
+++ lnx-417-rc1/drivers/infiniband/hw/mlx5/Kconfig
@@ -1,6 +1,7 @@ 
 config MLX5_INFINIBAND
 	tristate "Mellanox Connect-IB HCA support"
 	depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
+	select INFINIBAND_USER_ACCESS
 	---help---
 	  This driver provides low-level InfiniBand support for
 	  Mellanox Connect-IB PCI Express host channel adapters (HCAs).