2023-05-23 16:33:17

by Min-Hua Chen

[permalink] [raw]
Subject: [PATCH] usb: typec: ucsi: correctly access opcode

hdr->opcode is __le32 type, use le32_to_cpu() to cast opcode
to integer in the switch..case statement to fix the following
sparse warnings:

drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer
drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer
drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer

No functional change.

Signed-off-by: Min-Hua Chen <[email protected]>
---
drivers/usb/typec/ucsi/ucsi_glink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c
index b454a5159896..1fe9cb5b6bd9 100644
--- a/drivers/usb/typec/ucsi/ucsi_glink.c
+++ b/drivers/usb/typec/ucsi/ucsi_glink.c
@@ -245,7 +245,7 @@ static void pmic_glink_ucsi_callback(const void *data, size_t len, void *priv)
struct pmic_glink_ucsi *ucsi = priv;
const struct pmic_glink_hdr *hdr = data;

- switch (hdr->opcode) {
+ switch (le32_to_cpu(hdr->opcode)) {
case UC_UCSI_READ_BUF_REQ:
pmic_glink_ucsi_read_ack(ucsi, data, len);
break;
--
2.34.1



2023-05-24 11:27:07

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH] usb: typec: ucsi: correctly access opcode

On Wed, May 24, 2023 at 12:23:12AM +0800, Min-Hua Chen wrote:
> hdr->opcode is __le32 type, use le32_to_cpu() to cast opcode
> to integer in the switch..case statement to fix the following
> sparse warnings:
>
> drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer
> drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer
> drivers/usb/typec/ucsi/ucsi_glink.c:248:20: sparse: warning: restricted __le32 degrades to integer
>
> No functional change.
>
> Signed-off-by: Min-Hua Chen <[email protected]>

Reviewed-by: Heikki Krogerus <[email protected]>

> ---
> drivers/usb/typec/ucsi/ucsi_glink.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c
> index b454a5159896..1fe9cb5b6bd9 100644
> --- a/drivers/usb/typec/ucsi/ucsi_glink.c
> +++ b/drivers/usb/typec/ucsi/ucsi_glink.c
> @@ -245,7 +245,7 @@ static void pmic_glink_ucsi_callback(const void *data, size_t len, void *priv)
> struct pmic_glink_ucsi *ucsi = priv;
> const struct pmic_glink_hdr *hdr = data;
>
> - switch (hdr->opcode) {
> + switch (le32_to_cpu(hdr->opcode)) {
> case UC_UCSI_READ_BUF_REQ:
> pmic_glink_ucsi_read_ack(ucsi, data, len);
> break;
> --
> 2.34.1

--
heikki