On Mon, Jul 02, 2018 at 10:28:22AM -0700, Bart Van Assche wrote: > This patch avoids that sparse reports the following: > > drivers/infiniband/core/uverbs_std_types_cq.c:206:1: error: directive in argument list > drivers/infiniband/core/uverbs_std_types_cq.c:209:1: error: directive in argument list > > Additionally, this patch also avoids that sparse warns about defined > but not used functions with CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI=n. > > Fixes: 185899ee8d00 ("IB/uverbs: Enable ioctl() uAPI by default for new verbs") > Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx> > Cc: Matan Barak <matanb@xxxxxxxxxxxx> > Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/core/uverbs_std_types_cq.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) Bart, The patch looks good for me. Just for my general knowledge, can you point which part of C standard the original code violated? Thanks. > > diff --git a/drivers/infiniband/core/uverbs_std_types_cq.c b/drivers/infiniband/core/uverbs_std_types_cq.c > index 3d293d01afea..3fc1838d6cb1 100644 > --- a/drivers/infiniband/core/uverbs_std_types_cq.c > +++ b/drivers/infiniband/core/uverbs_std_types_cq.c > @@ -53,6 +53,7 @@ static int uverbs_free_cq(struct ib_uobject *uobject, > return ret; > } > > +#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI) > static int UVERBS_HANDLER(UVERBS_METHOD_CQ_CREATE)(struct ib_device *ib_dev, > struct ib_uverbs_file *file, > struct uverbs_attr_bundle *attrs) > @@ -199,13 +200,18 @@ static DECLARE_UVERBS_NAMED_METHOD(UVERBS_METHOD_CQ_DESTROY, > &UVERBS_ATTR_PTR_OUT(UVERBS_ATTR_DESTROY_CQ_RESP, > UVERBS_ATTR_TYPE(struct ib_uverbs_destroy_cq_resp), > UA_FLAGS(UVERBS_ATTR_SPEC_F_MANDATORY))); > +#endif > > +#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI) > DECLARE_UVERBS_NAMED_OBJECT(UVERBS_OBJECT_CQ, > &UVERBS_TYPE_ALLOC_IDR_SZ(sizeof(struct ib_ucq_object), 0, > uverbs_free_cq), > -#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI) > &UVERBS_METHOD(UVERBS_METHOD_CQ_CREATE), > &UVERBS_METHOD(UVERBS_METHOD_CQ_DESTROY) > -#endif > ); > - > +#else > +DECLARE_UVERBS_NAMED_OBJECT(UVERBS_OBJECT_CQ, > + &UVERBS_TYPE_ALLOC_IDR_SZ(sizeof(struct ib_ucq_object), 0, > + uverbs_free_cq), > + ); > +#endif > -- > 2.18.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
signature.asc
Description: PGP signature