OSDN Git Service

platform/chrome: wilco_ec: Provide correct output format to 'h1_gpio' file
authorBernardo Perez Priego <bernardo.perez.priego@intel.com>
Thu, 2 Apr 2020 22:33:30 +0000 (15:33 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Mon, 13 Apr 2020 14:36:54 +0000 (16:36 +0200)
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@intel.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
drivers/platform/chrome/wilco_ec/debugfs.c

index df5a5f6..a812788 100644 (file)
@@ -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");