Re: [PATCH v2] platform/chrome: wilco_ec: Provide correct output format to 'h1_gpio' file
From: Enric Balletbo i Serra
Date: Tue Apr 14 2020 - 09:15:14 EST
Hi Bernardo,
Thank you for your patch.
On 3/4/20 0:33, Bernardo Perez Priego wrote:
> Function 'h1_gpio_get' is receiving 'val' parameter of type u64,
> this is being passed to 'send_ec_cmd' as type u8, thus, result
> is stored in least significant byte. Due to output format,
> the whole 'val' value was being displayed when any of the most
> significant bytes are different than zero.
>
> This fix will make sure only least significant byte is displayed
> regardless of remaining bytes value.
>
> Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@xxxxxxxxx>
> ---
Applied for 5.8
> Changes in v2:
> - Keep original format and apply mask instead to resolve warning
>
> drivers/platform/chrome/wilco_ec/debugfs.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/chrome/wilco_ec/debugfs.c b/drivers/platform/chrome/wilco_ec/debugfs.c
> index df5a5f6c3ec6..a812788a0bdc 100644
> --- a/drivers/platform/chrome/wilco_ec/debugfs.c
> +++ b/drivers/platform/chrome/wilco_ec/debugfs.c
> @@ -208,7 +208,12 @@ static int send_ec_cmd(struct wilco_ec_device *ec, u8 sub_cmd, u8 *out_val)
> */
> static int h1_gpio_get(void *arg, u64 *val)
> {
> - return send_ec_cmd(arg, SUB_CMD_H1_GPIO, (u8 *)val);
> + int ret;
> +
> + ret = send_ec_cmd(arg, SUB_CMD_H1_GPIO, (u8 *)val);
> + if (ret == 0)
> + *val &= 0xFF;
> + return ret;
> }
>
> DEFINE_DEBUGFS_ATTRIBUTE(fops_h1_gpio, h1_gpio_get, NULL, "0x%02llx\n");
>