From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH/RFC] KVM: fix sparse warning in include/trace/events/kvm.h Date: Mon, 19 Jan 2015 09:54:53 +0100 Message-ID: <54BCC65D.7090607@de.ibm.com> References: <1421331679-38118-1-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: KVM , Alexander Graf , Marcelo Tosatti To: Paolo Bonzini Return-path: Received: from e06smtp11.uk.ibm.com ([195.75.94.107]:34147 "EHLO e06smtp11.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751426AbbASIy7 (ORCPT ); Mon, 19 Jan 2015 03:54:59 -0500 Received: from /spool/local by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 19 Jan 2015 08:54:57 -0000 Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 60EAE17D805D for ; Mon, 19 Jan 2015 08:54:56 +0000 (GMT) Received: from d06av03.portsmouth.uk.ibm.com (d06av03.portsmouth.uk.ibm.com [9.149.37.213]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t0J8st1W63963334 for ; Mon, 19 Jan 2015 08:54:55 GMT Received: from d06av03.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av03.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t0J8sseV025639 for ; Mon, 19 Jan 2015 01:54:54 -0700 In-Reply-To: <1421331679-38118-1-git-send-email-borntraeger@de.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: Adding Alex and Marcelo CC as git blame gives them authorship to that piece of code. Paolo, I assume that you will pick that up without a git tree if Alex/Marcelo ack that change. Christian Am 15.01.2015 um 15:21 schrieb Christian Borntraeger: > sparse complains about > include/trace/events/kvm.h:163:1: error: directive in argument list > include/trace/events/kvm.h:167:1: error: directive in argument list > include/trace/events/kvm.h:169:1: error: directive in argument list > and sparse is right. Preprocessing directives in an argument of a > macro are undefined behaviour as of C99 6.10.3p11. > > Lets use an indirection to fix this. > > Signed-off-by: Christian Borntraeger > --- > include/trace/events/kvm.h | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/include/trace/events/kvm.h b/include/trace/events/kvm.h > index 6edf1f2..86b399c 100644 > --- a/include/trace/events/kvm.h > +++ b/include/trace/events/kvm.h > @@ -146,6 +146,14 @@ TRACE_EVENT(kvm_msi_set_irq, > > #if defined(CONFIG_HAVE_KVM_IRQFD) > > +#ifdef kvm_irqchips > +#define kvm_ack_irq_string "irqchip %s pin %u" > +#define kvm_ack_irq_parm __print_symbolic(__entry->irqchip, kvm_irqchips), __entry->pin > +#else > +#define kvm_ack_irq_string "irqchip %d pin %u" > +#define kvm_ack_irq_parm __entry->irqchip, __entry->pin > +#endif > + > TRACE_EVENT(kvm_ack_irq, > TP_PROTO(unsigned int irqchip, unsigned int pin), > TP_ARGS(irqchip, pin), > @@ -160,13 +168,7 @@ TRACE_EVENT(kvm_ack_irq, > __entry->pin = pin; > ), > > -#ifdef kvm_irqchips > - TP_printk("irqchip %s pin %u", > - __print_symbolic(__entry->irqchip, kvm_irqchips), > - __entry->pin) > -#else > - TP_printk("irqchip %d pin %u", __entry->irqchip, __entry->pin) > -#endif > + TP_printk(kvm_ack_irq_string, kvm_ack_irq_parm) > ); > > #endif /* defined(CONFIG_HAVE_KVM_IRQFD) */ >