From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: ARC-Seal: i=1; a=rsa-sha256; t=1516636062; cv=none; d=google.com; s=arc-20160816; b=aqxkd8o5SUm7AIxSOKAiX3Cy/WBaAfjlVLQeP0BBMuTwxYW1CUVUwzSdG2XFTcfUng xwsVha1vtOQn+6fCMcgO5P40g7+QaYh+cfbR18sCr53MBr2WPWNnQWde8CK3IUyTYLKH kRktwsFfq/DKMNz1iVcpk7wP61Vf5Bd0ScndSQOwqIU96Zx5IAf81fNso/RjomNBf9U+ rhinDPMb1TLshAII/1vbVJO/6F9BMGJZoT3VQJY0sejiwxWZ+sPtIUJQoAlsvMq3vZFJ QcK0byiRreH+wkbLFzRJ47L/tsiu64NSnG6sXuGXKNMFofA47xsb4+J6P/5Wk1GS+Es7 qdxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject:reply-to :sender:dkim-signature:arc-authentication-results; bh=quN1fY3TXD0ZX2+u68vjxVsAhEZ0Rxe718/+xsbX5+k=; b=qNQVaYhw7nH/cAhBuCEnV8RwRrmUYP2kIS11lYPm9PAjP73zNcQLnXG08xysaeWp9F aB7iBs5CEk/JGuBWwTCljYIBLhynR+7w/gPIRUkcm1u+6JG01zuQg66eWxn4naxJK4qc M04GjOJ2XT5Wf4pwh6V1Cq85P/HbX88WS0P6QPnVcHiMhgWGFDhZ4xdtg34I9/PSTzYW ApXMk8lEOYx8T/0NrLRgDCn929Xcz6PSJ2SueD5A7hcalXAu/OzOgkMJtziLawAttgm+ d3CAMn4BBM0Ex2kF8fwhCSIWzZyQo9qAInLAahhWV7Q24Hm5a7QgzGM6mOeSNAMAyX17 pi7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ho3uQKDI; spf=pass (google.com: domain of tcminyard@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=tcminyard@gmail.com Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ho3uQKDI; spf=pass (google.com: domain of tcminyard@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=tcminyard@gmail.com X-Google-Smtp-Source: AH8x224Bi/iU6WKahSlNkvX+nOjVUCzvqR+cq4rYBuvWNSUtqAvj1/QoqsOKT9BsdKGLd5Xwi6muYw== Sender: Corey Minyard Reply-To: minyard@acm.org Subject: Re: [PATCH v1] device property: Define type of PROPERTY_ENRTY_*() macros To: Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, "Rafael J . Wysocki" , Sakari Ailus , mika.westerberg@linux.intel.com References: <20180122153317.75509-1-andriy.shevchenko@linux.intel.com> From: Corey Minyard Message-ID: <3c3d0155-b097-b9dd-ebf9-6698ff47c673@acm.org> Date: Mon, 22 Jan 2018 09:47:38 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180122153317.75509-1-andriy.shevchenko@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590307273946588959?= X-GMAIL-MSGID: =?utf-8?q?1590308176576677426?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On 01/22/2018 09:33 AM, Andy Shevchenko wrote: > Some of the drivers may use the macro at runtime flow, like > > struct property_entry p[10]; > ... > p[index++] = PROPERTY_ENTRY_U8("u8 property", u8_data); > > In that case and absence of the data type compiler fails the build: > > drivers/char/ipmi/ipmi_dmi.c:79:29: error: Expected ; at end of statement > drivers/char/ipmi/ipmi_dmi.c:79:29: error: got { > > Cc: Corey Minyard > Signed-off-by: Andy Shevchenko This looks good to me. Acked-by: Corey Minyard > --- > include/linux/property.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/linux/property.h b/include/linux/property.h > index 7eefaf2f22b9..f144be4f99e0 100644 > --- a/include/linux/property.h > +++ b/include/linux/property.h > @@ -204,7 +204,7 @@ struct property_entry { > */ > > #define PROPERTY_ENTRY_INTEGER_ARRAY(_name_, _type_, _Type_, _val_) \ > -{ \ > +(struct property_entry) { \ > .name = _name_, \ > .length = ARRAY_SIZE(_val_) * sizeof(_type_), \ > .is_array = true, \ > @@ -222,7 +222,7 @@ struct property_entry { > PROPERTY_ENTRY_INTEGER_ARRAY(_name_, u64, U64, _val_) > > #define PROPERTY_ENTRY_STRING_ARRAY(_name_, _val_) \ > -{ \ > +(struct property_entry) { \ > .name = _name_, \ > .length = ARRAY_SIZE(_val_) * sizeof(const char *), \ > .is_array = true, \ > @@ -231,7 +231,7 @@ struct property_entry { > } > > #define PROPERTY_ENTRY_INTEGER(_name_, _type_, _Type_, _val_) \ > -{ \ > +(struct property_entry) { \ > .name = _name_, \ > .length = sizeof(_type_), \ > .type = DEV_PROP_##_Type_, \ > @@ -248,7 +248,7 @@ struct property_entry { > PROPERTY_ENTRY_INTEGER(_name_, u64, U64, _val_) > > #define PROPERTY_ENTRY_STRING(_name_, _val_) \ > -{ \ > +(struct property_entry) { \ > .name = _name_, \ > .length = sizeof(_val_), \ > .type = DEV_PROP_STRING, \ > @@ -256,7 +256,7 @@ struct property_entry { > } > > #define PROPERTY_ENTRY_BOOL(_name_) \ > -{ \ > +(struct property_entry) { \ > .name = _name_, \ > } >