> -----Original Message----- > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Wednesday, 7 September 2022 15:51 > To: Tom Talpey <tom@xxxxxxxxxx> > Cc: Leon Romanovsky <leonro@xxxxxxxxxx>; Bernard Metzler > <BMT@xxxxxxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx > Subject: [EXTERNAL] Re: [PATCH] Add missing ib_uverbs dependency from > SoftiWARP > > On Wed, Sep 07, 2022 at 09:45:07AM -0400, Tom Talpey wrote: > > When loading the siw module, ib_uverbs is needed so that consumers may > > access it. However, siw references only inline functions in > ib_uverbs.h, > > so the kernel linker can not detect this, and the module is not loaded > > automatically. Add a module dependency to ensure ib_uverbs is present. > > No, that is not how things work. > > Modern rdma-core will auto-load uverbs when something uses it, we > shouldn't have things like this. Hmmm, if e.g. siw references ib_copy_to_udata(), it uses ib_uverbs functionality, but the kernel build mechanics do not bring in ib_uverbs.ko dependency, since ib_copy_to_udata() is just an inline defined in ib_uverbs.h. It seems drivers depend on using at least one 'real' symbol out of that .ko. Maybe we shall not put functions into header files? Thanks Bernard.