Messages in this thread Patch in this message | | | From | Andy Shevchenko <> | Subject | [PATCH v1] device property: Define type of PROPERTY_ENRTY_*() macros | Date | Mon, 22 Jan 2018 17:33:17 +0200 |
| |
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 <minyard@acm.org> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- 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_, \ } -- 2.15.1
| |