2022-07-13 03:33:55

by Yi Jiangshan

[permalink] [raw]
Subject: [PATCH] HID: rmi: replace ternary operator with min()

From: Jiangshan Yi <[email protected]>

Fix the following coccicheck warning:

drivers/hid/hid-rmi.c:240: WARNING opportunity for min().
drivers/hid/hid-rmi.c:350: WARNING opportunity for min().

min() macro is defined in include/linux/minmax.h. It avoids
multiple evaluations of the arguments when non-constant and performs
strict type-checking.

Signed-off-by: Jiangshan Yi <[email protected]>
---
drivers/hid/hid-rmi.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
index 311eee599ce9..bb1f423f4ace 100644
--- a/drivers/hid/hid-rmi.c
+++ b/drivers/hid/hid-rmi.c
@@ -237,8 +237,7 @@ static int rmi_hid_read_block(struct rmi_transport_dev *xport, u16 addr,

read_input_count = data->readReport[1];
memcpy(buf + bytes_read, &data->readReport[2],
- read_input_count < bytes_needed ?
- read_input_count : bytes_needed);
+ min(read_input_count, bytes_needed));

bytes_read += read_input_count;
bytes_needed -= read_input_count;
@@ -347,8 +346,7 @@ static int rmi_read_data_event(struct hid_device *hdev, u8 *data, int size)
return 0;
}

- memcpy(hdata->readReport, data, size < hdata->input_report_size ?
- size : hdata->input_report_size);
+ memcpy(hdata->readReport, data, min((u32)size, hdata->input_report_size));
set_bit(RMI_READ_DATA_PENDING, &hdata->flags);
wake_up(&hdata->wait);

--
2.25.1


2022-08-25 10:11:56

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: rmi: replace ternary operator with min()

On Wed, 13 Jul 2022, Jiangshan Yi wrote:

> From: Jiangshan Yi <[email protected]>
>
> Fix the following coccicheck warning:
>
> drivers/hid/hid-rmi.c:240: WARNING opportunity for min().
> drivers/hid/hid-rmi.c:350: WARNING opportunity for min().
>
> min() macro is defined in include/linux/minmax.h. It avoids
> multiple evaluations of the arguments when non-constant and performs
> strict type-checking.
>
> Signed-off-by: Jiangshan Yi <[email protected]>
> ---
> drivers/hid/hid-rmi.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
> index 311eee599ce9..bb1f423f4ace 100644
> --- a/drivers/hid/hid-rmi.c
> +++ b/drivers/hid/hid-rmi.c
> @@ -237,8 +237,7 @@ static int rmi_hid_read_block(struct rmi_transport_dev *xport, u16 addr,
>
> read_input_count = data->readReport[1];
> memcpy(buf + bytes_read, &data->readReport[2],
> - read_input_count < bytes_needed ?
> - read_input_count : bytes_needed);
> + min(read_input_count, bytes_needed));
>
> bytes_read += read_input_count;
> bytes_needed -= read_input_count;
> @@ -347,8 +346,7 @@ static int rmi_read_data_event(struct hid_device *hdev, u8 *data, int size)
> return 0;
> }
>
> - memcpy(hdata->readReport, data, size < hdata->input_report_size ?
> - size : hdata->input_report_size);
> + memcpy(hdata->readReport, data, min((u32)size, hdata->input_report_size));
> set_bit(RMI_READ_DATA_PENDING, &hdata->flags);
> wake_up(&hdata->wait);

Applied, thanks.

--
Jiri Kosina
SUSE Labs