2017-07-02 21:54:31

by Christos Gkekas

[permalink] [raw]
Subject: [PATCH] HID: wacom: Remove comparison of u8 mode with zero and simplify.

Variable mode in method wacom_show_remote_mode() is defined as u8, thus
statement (mode >= 0) is always true and should be removed, simplifying
the logic.

Signed-off-by: Christos Gkekas <[email protected]>
---
drivers/hid/wacom_sys.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
index 838c1eb..79c3d7f 100644
--- a/drivers/hid/wacom_sys.c
+++ b/drivers/hid/wacom_sys.c
@@ -1671,10 +1671,7 @@ static ssize_t wacom_show_remote_mode(struct kobject *kobj,
u8 mode;

mode = wacom->led.groups[index].select;
- if (mode >= 0 && mode < 3)
- return snprintf(buf, PAGE_SIZE, "%d\n", mode);
- else
- return snprintf(buf, PAGE_SIZE, "%d\n", -1);
+ return snprintf(buf, PAGE_SIZE, "%d\n", mode < 3 ? mode : -1);
}

#define DEVICE_EKR_ATTR_GROUP(SET_ID) \
--
2.7.4


2017-07-02 22:04:36

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] HID: wacom: Remove comparison of u8 mode with zero and simplify.

On Sun, 2017-07-02 at 22:54 +0100, Christos Gkekas wrote:
> Variable mode in method wacom_show_remote_mode() is defined as u8, thus
> statement (mode >= 0) is always true and should be removed, simplifying
> the logic.
[]
> diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
[]
> @@ -1671,10 +1671,7 @@ static ssize_t wacom_show_remote_mode(struct kobject *kobj,
> u8 mode;
>
> mode = wacom->led.groups[index].select;
> - if (mode >= 0 && mode < 3)
> - return snprintf(buf, PAGE_SIZE, "%d\n", mode);
> - else
> - return snprintf(buf, PAGE_SIZE, "%d\n", -1);
> + return snprintf(buf, PAGE_SIZE, "%d\n", mode < 3 ? mode : -1);

It's also hard to imagine that PAGE_SIZE could be less than 4 bytes so
return sprintf(buf, "%d\n", mode < 3 ? mode : -1);
could work too.

2017-07-02 22:33:03

by Christos Gkekas

[permalink] [raw]
Subject: Re: [PATCH] HID: wacom: Remove comparison of u8 mode with zero and simplify.

On 02/07/17 15:04:28 -0700, Joe Perches wrote:
> On Sun, 2017-07-02 at 22:54 +0100, Christos Gkekas wrote:
> > Variable mode in method wacom_show_remote_mode() is defined as u8, thus
> > statement (mode >= 0) is always true and should be removed, simplifying
> > the logic.
> []
> > diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
> []
> > @@ -1671,10 +1671,7 @@ static ssize_t wacom_show_remote_mode(struct kobject *kobj,
> > u8 mode;
> >
> > mode = wacom->led.groups[index].select;
> > - if (mode >= 0 && mode < 3)
> > - return snprintf(buf, PAGE_SIZE, "%d\n", mode);
> > - else
> > - return snprintf(buf, PAGE_SIZE, "%d\n", -1);
> > + return snprintf(buf, PAGE_SIZE, "%d\n", mode < 3 ? mode : -1);
>
> It's also hard to imagine that PAGE_SIZE could be less than 4 bytes so
> return sprintf(buf, "%d\n", mode < 3 ? mode : -1);
> could work too.
>
Thanks for the suggestion, makes sense. I will resend the patch.