tpm_crb: use __le64 annotated variable for response buffer address
authorTomas Winkler <tomas.winkler@intel.com>
Tue, 6 Mar 2018 09:34:15 +0000 (11:34 +0200)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Fri, 23 Mar 2018 08:18:06 +0000 (10:18 +0200)
use __le64 annotated variable for response buffer address as this is
read in little endian format form the register.

This suppresses sparse warning
drivers/char/tpm/tpm_crb.c:558:18: warning: cast to restricted __le64

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
drivers/char/tpm/tpm_crb.c

index 497edd9848cd83ede8b076e68a50f98f146d2ef9..7f78482cd157b263226261b4ff7166df283c56af 100644 (file)
@@ -471,6 +471,7 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
        u32 pa_high, pa_low;
        u64 cmd_pa;
        u32 cmd_size;
+       __le64 __rsp_pa;
        u64 rsp_pa;
        u32 rsp_size;
        int ret;
@@ -536,8 +537,8 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
                goto out;
        }
 
-       memcpy_fromio(&rsp_pa, &priv->regs_t->ctrl_rsp_pa, 8);
-       rsp_pa = le64_to_cpu(rsp_pa);
+       memcpy_fromio(&__rsp_pa, &priv->regs_t->ctrl_rsp_pa, 8);
+       rsp_pa = le64_to_cpu(__rsp_pa);
        rsp_size = crb_fixup_cmd_size(dev, &io_res, rsp_pa,
                                      ioread32(&priv->regs_t->ctrl_rsp_size));