From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752972AbbGGEBT (ORCPT ); Tue, 7 Jul 2015 00:01:19 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:59442 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751808AbbGGEAz (ORCPT ); Tue, 7 Jul 2015 00:00:55 -0400 X-Sasl-enc: UNAKypZQZBKFspMHFEbq8C8GptlTvmicVFnvU76iYB7Q 1436241654 Date: Mon, 6 Jul 2015 19:36:52 -0700 From: Greg KH To: Joe Perches Cc: Vasiliy Korchagin , oleg.drokin@intel.com, devel@driverdev.osuosl.org, andreas.dilger@intel.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] staging: lustre: obdclass: fix macro coding style issue in uuid.c Message-ID: <20150707023652.GA9748@kroah.com> References: <1435380784.9377.69.camel@perches.com> <1435383365-25679-1-git-send-email-vasiliy.korchagin@gmail.com> <1435385089.9377.72.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1435385089.9377.72.camel@perches.com> User-Agent: Mutt/1.5.23+89 (0255b37be491) (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 26, 2015 at 11:04:49PM -0700, Joe Perches wrote: > On Sat, 2015-06-27 at 06:36 +0100, Vasiliy Korchagin wrote: > > This patch fixes the checkpatch.pl error: > > > > ERROR: Macros with complex values should be enclosed in parentheses > > +#define CONSUME(val, ptr) (val) = consume(sizeof(val), (ptr)) > > > > by expanding it as this macro is used only once. > [] > > Notes: > > Here is another version with macro expansion. Inline function expansion doesn't > > seem like a good idea to me as it would make things overcomplicated. > > It looks like it'd be simpler to use vsprintf extension %pU > --- > drivers/staging/lustre/lustre/obdclass/uuid.c | 34 +-------------------------- > 1 file changed, 1 insertion(+), 33 deletions(-) > > diff --git a/drivers/staging/lustre/lustre/obdclass/uuid.c b/drivers/staging/lustre/lustre/obdclass/uuid.c > index ff0a01b..b0b0157 100644 > --- a/drivers/staging/lustre/lustre/obdclass/uuid.c > +++ b/drivers/staging/lustre/lustre/obdclass/uuid.c > @@ -43,40 +43,8 @@ > #include "../include/obd_support.h" > #include "../include/obd_class.h" > > - > -static inline __u32 consume(int nob, __u8 **ptr) > -{ > - __u32 value; > - > - LASSERT(nob <= sizeof(value)); > - > - for (value = 0; nob > 0; --nob) > - value = (value << 8) | *((*ptr)++); > - return value; > -} > - > -#define CONSUME(val, ptr) (val) = consume(sizeof(val), (ptr)) > - > -static void uuid_unpack(class_uuid_t in, __u16 *uu, int nr) > -{ > - __u8 *ptr = in; > - > - LASSERT(nr * sizeof(*uu) == sizeof(class_uuid_t)); > - > - while (nr-- > 0) > - CONSUME(uu[nr], &ptr); > -} > - > void class_uuid_unparse(class_uuid_t uu, struct obd_uuid *out) > { > - /* uu as an array of __u16's */ > - __u16 uuid[sizeof(class_uuid_t) / sizeof(__u16)]; > - > - CLASSERT(ARRAY_SIZE(uuid) == 8); > - > - uuid_unpack(uu, uuid, ARRAY_SIZE(uuid)); > - sprintf(out->uuid, "%04x%04x-%04x-%04x-%04x-%04x%04x%04x", > - uuid[0], uuid[1], uuid[2], uuid[3], > - uuid[4], uuid[5], uuid[6], uuid[7]); > + sprintf(out->uuid, "%pU", uu); > } > EXPORT_SYMBOL(class_uuid_unparse); I agree, much better, can you resend this in a form I can apply? thanks, greg k-h