On Mon, Jul 29, 2019 at 08:49:33AM +0300, Leon Romanovsky wrote: > > +/** > > + * ib_alloc_cq_any: Allocate kernel CQ > > + * @dev: The IB device > > + * @private: Private data attached to the CQE > > + * @nr_cqe: Number of CQEs in the CQ > > + * @poll_ctx: Context used for polling the CQ > > + */ > > +static inline struct ib_cq *ib_alloc_cq_any(struct ib_device *dev, > > + void *private, int nr_cqe, > > + enum ib_poll_context poll_ctx) > > +{ > > + return __ib_alloc_cq_any(dev, private, nr_cqe, poll_ctx, > > + KBUILD_MODNAME); > > +} > > This should be macro and not inline function, because compiler can be > instructed do not inline functions (there is kconfig option for that) > and it will cause that wrong KBUILD_MODNAME will be inserted (ib_core > instead of ulp). No, it can't, a static inline can only be de-inlined within the same compilation unit, so KBUILD_MODNAME can never be mixed up. You only need to use macros of the value changes within the compilation unit. Jason