[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20230705115536.55931-1-frank.li@vivo.com>
Date: Wed, 5 Jul 2023 19:55:36 +0800
From: Yangtao Li <frank.li@...o.com>
To: Peter Huewe <peterhuewe@....de>,
Jarkko Sakkinen <jarkko@...nel.org>,
Jason Gunthorpe <jgg@...pe.ca>
Cc: Yangtao Li <frank.li@...o.com>, linux-integrity@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] tpm/tpm_tis_synquacer: do some cleanup
Use devm_platform_ioremap_resource() to simplify code,
and remove unnecessary struct tpm_tis_synquacer_info.
Signed-off-by: Yangtao Li <frank.li@...o.com>
---
drivers/char/tpm/tpm_tis_synquacer.c | 39 +++++-----------------------
1 file changed, 6 insertions(+), 33 deletions(-)
diff --git a/drivers/char/tpm/tpm_tis_synquacer.c b/drivers/char/tpm/tpm_tis_synquacer.c
index 49278746b0e2..6e17b655cbde 100644
--- a/drivers/char/tpm/tpm_tis_synquacer.c
+++ b/drivers/char/tpm/tpm_tis_synquacer.c
@@ -14,16 +14,6 @@
#include "tpm.h"
#include "tpm_tis_core.h"
-/*
- * irq > 0 means: use irq $irq;
- * irq = 0 means: autoprobe for an irq;
- * irq = -1 means: no irq support
- */
-struct tpm_tis_synquacer_info {
- struct resource res;
- int irq;
-};
-
struct tpm_tis_synquacer_phy {
struct tpm_tis_data priv;
void __iomem *iobase;
@@ -91,42 +81,25 @@ static const struct tpm_tis_phy_ops tpm_tcg_bw = {
.write_bytes = tpm_tis_synquacer_write_bytes,
};
-static int tpm_tis_synquacer_init(struct device *dev,
- struct tpm_tis_synquacer_info *tpm_info)
+static SIMPLE_DEV_PM_OPS(tpm_tis_synquacer_pm, tpm_pm_suspend, tpm_tis_resume);
+
+static int tpm_tis_synquacer_probe(struct platform_device *pdev)
{
struct tpm_tis_synquacer_phy *phy;
+ struct device *dev = &pdev->dev;
phy = devm_kzalloc(dev, sizeof(struct tpm_tis_synquacer_phy), GFP_KERNEL);
if (phy == NULL)
return -ENOMEM;
- phy->iobase = devm_ioremap_resource(dev, &tpm_info->res);
+ phy->iobase = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(phy->iobase))
return PTR_ERR(phy->iobase);
- return tpm_tis_core_init(dev, &phy->priv, tpm_info->irq, &tpm_tcg_bw,
+ return tpm_tis_core_init(dev, &phy->priv, -1, &tpm_tcg_bw,
ACPI_HANDLE(dev));
}
-static SIMPLE_DEV_PM_OPS(tpm_tis_synquacer_pm, tpm_pm_suspend, tpm_tis_resume);
-
-static int tpm_tis_synquacer_probe(struct platform_device *pdev)
-{
- struct tpm_tis_synquacer_info tpm_info = {};
- struct resource *res;
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (res == NULL) {
- dev_err(&pdev->dev, "no memory resource defined\n");
- return -ENODEV;
- }
- tpm_info.res = *res;
-
- tpm_info.irq = -1;
-
- return tpm_tis_synquacer_init(&pdev->dev, &tpm_info);
-}
-
static void tpm_tis_synquacer_remove(struct platform_device *pdev)
{
struct tpm_chip *chip = dev_get_drvdata(&pdev->dev);
--
2.39.0
Powered by blists - more mailing lists