lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ