[PATCH] Use devm_ioremap_resource to reserve resource

From: Peter Huewe
Date: Mon Jul 21 2014 - 19:21:21 EST


Unfortunately the tpm_tis driver did never call request_region for its
adress space - now since we've got devm_ioremap_resource we can simply
remove all the stuff and do everything in one call.

Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Huewe <peterhuewe@xxxxxx>
---
drivers/char/tpm/tpm_tis.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 2c46734..a79be26 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -534,13 +534,14 @@ static int tpm_tis_init(struct device *dev, resource_size_t start,
u32 vendor, intfcaps, intmask;
int rc, i, irq_s, irq_e, probe;
struct tpm_chip *chip;
+ struct resource res = DEFINE_RES_MEM_NAMED(start, len, "tpm_tis");

if (!(chip = tpm_register_hardware(dev, &tpm_tis)))
return -ENODEV;

- chip->vendor.iobase = ioremap(start, len);
- if (!chip->vendor.iobase) {
- rc = -EIO;
+ chip->vendor.iobase = devm_ioremap_resource(dev, &res);
+ if (IS_ERR(chip->vendor.iobase)) {
+ rc = PTR_ERR(chip->vendor.iobase);
goto out_err;
}

@@ -727,8 +728,6 @@ static int tpm_tis_init(struct device *dev, resource_size_t start,

return 0;
out_err:
- if (chip->vendor.iobase)
- iounmap(chip->vendor.iobase);
tpm_remove_hardware(chip->dev);
return rc;
}
@@ -891,7 +890,6 @@ static void __exit cleanup_tis(void)
release_locality(chip, chip->vendor.locality, 1);
if (chip->vendor.irq)
free_irq(chip->vendor.irq, chip);
- iounmap(i->iobase);
list_del(&i->list);
}
mutex_unlock(&tis_lock);
--
1.8.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/