2014-12-09 06:35:04

by Asaf Vertz

[permalink] [raw]
Subject: [PATCH] input: edt-ft5x06: fixed a macro coding style issue

Fixed a coding style error, macros with complex values should be
enclosed in parentheses.

Signed-off-by: Asaf Vertz <[email protected]>
---
drivers/input/touchscreen/edt-ft5x06.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
index ee3434f..6db9253 100644
--- a/drivers/input/touchscreen/edt-ft5x06.c
+++ b/drivers/input/touchscreen/edt-ft5x06.c
@@ -849,10 +849,11 @@ static int edt_ft5x06_ts_identify(struct i2c_client *client,
return 0;
}

-#define EDT_ATTR_CHECKSET(name, reg) \
+#define EDT_ATTR_CHECKSET(name, reg) { \
if (pdata->name >= edt_ft5x06_attr_##name.limit_low && \
pdata->name <= edt_ft5x06_attr_##name.limit_high) \
- edt_ft5x06_register_write(tsdata, reg, pdata->name)
+ edt_ft5x06_register_write(tsdata, reg, pdata->name); \
+}

#define EDT_GET_PROP(name, reg) { \
u32 val; \
--
1.7.0.4


2014-12-09 06:44:25

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] input: edt-ft5x06: fixed a macro coding style issue

On Tue, 2014-12-09 at 08:34 +0200, Asaf Vertz wrote:
> Fixed a coding style error, macros with complex values should be
> enclosed in parentheses.
[]
> diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
[]
> @@ -849,10 +849,11 @@ static int edt_ft5x06_ts_identify(struct i2c_client *client,
> return 0;
> }
>
> -#define EDT_ATTR_CHECKSET(name, reg) \
> +#define EDT_ATTR_CHECKSET(name, reg) { \
> if (pdata->name >= edt_ft5x06_attr_##name.limit_low && \
> pdata->name <= edt_ft5x06_attr_##name.limit_high) \
> - edt_ft5x06_register_write(tsdata, reg, pdata->name)
> + edt_ft5x06_register_write(tsdata, reg, pdata->name); \
> +}

Any time you see a naked if (foo) bar in a macro
prefer to use a do while (0) like;

#define EDT_ATTR_CHECKSET(name, reg) \
do { \
if (pdata->name >= edt_ft5x06_attr_##name.limit_low && \
pdata->name <= edt_ft5x06_attr_##name.limit_high) \
edt_ft5x06_register_write(tsdata, reg, pdata->name); \
while (0)

2014-12-09 07:52:03

by Asaf Vertz

[permalink] [raw]
Subject: Re: [PATCH] input: edt-ft5x06: fixed a macro coding style issue

On 12/09/2014 08:44 AM, Joe Perches wrote:
> On Tue, 2014-12-09 at 08:34 +0200, Asaf Vertz wrote:
>> Fixed a coding style error, macros with complex values should be
>> enclosed in parentheses.
>>
>> -#define EDT_ATTR_CHECKSET(name, reg) \
>> +#define EDT_ATTR_CHECKSET(name, reg) { \
>> if (pdata->name >= edt_ft5x06_attr_##name.limit_low && \
>> pdata->name <= edt_ft5x06_attr_##name.limit_high) \
>> - edt_ft5x06_register_write(tsdata, reg, pdata->name)
>> + edt_ft5x06_register_write(tsdata, reg, pdata->name); \
>> +}
>
> Any time you see a naked if (foo) bar in a macro
> prefer to use a do while (0) like;
>
> #define EDT_ATTR_CHECKSET(name, reg) \
> do { \
> if (pdata->name >= edt_ft5x06_attr_##name.limit_low && \
> pdata->name <= edt_ft5x06_attr_##name.limit_high) \
> edt_ft5x06_register_write(tsdata, reg, pdata->name); \
> while (0)
>

thanks for the input, I will update and resend it