tpm_crb: fix address space of the return pointer in crb_map_res()
authorJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Fri, 17 Jun 2016 14:39:29 +0000 (16:39 +0200)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Sat, 25 Jun 2016 14:28:57 +0000 (17:28 +0300)
When running make C=2 M=drivers/char/tpm/

  CHECK   drivers/char/tpm//tpm_crb.c
drivers/char/tpm//tpm_crb.c:248:31: warning: incorrect type in return expression (different address spaces)
drivers/char/tpm//tpm_crb.c:248:31:    expected void [noderef] <asn:2>*
drivers/char/tpm//tpm_crb.c:248:31:    got void *

CC: stable@vger.kernel.org
Fixes: 1bd047be37d9 ("tpm_crb: Use devm_ioremap_resource")
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
drivers/char/tpm/tpm_crb.c

index 1547636368e81b617acf03cf2faefcb48d2ce35c..1b8e1b51bfc06a47f77eadd6ebc953cfa9f8b678 100644 (file)
@@ -245,7 +245,7 @@ static void __iomem *crb_map_res(struct device *dev, struct crb_priv *priv,
 
        /* Detect a 64 bit address on a 32 bit system */
        if (start != new_res.start)
-               return ERR_PTR(-EINVAL);
+               return (void __iomem *) ERR_PTR(-EINVAL);
 
        if (!resource_contains(io_res, &new_res))
                return devm_ioremap_resource(dev, &new_res);