[v3,1/3] tpm: st33zp24: drop support for platform data

Message ID 20221027071349.991730-1-dmitry.torokhov@gmail.com
State New
Headers
Series [v3,1/3] tpm: st33zp24: drop support for platform data |

Commit Message

Dmitry Torokhov Oct. 27, 2022, 7:13 a.m. UTC
  Drop support for platform data from the driver because there are no
users of st33zp24_platform_data structure in the mainline kernel.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

v3: switch back to using TPM_ST33_SPI macro when setting SPI driver name 
v2: reworked commit message

 drivers/char/tpm/st33zp24/i2c.c        | 41 ++-----------------------
 drivers/char/tpm/st33zp24/spi.c        | 42 ++------------------------
 drivers/char/tpm/st33zp24/st33zp24.h   |  3 ++
 include/linux/platform_data/st33zp24.h | 16 ----------
 4 files changed, 9 insertions(+), 93 deletions(-)
 delete mode 100644 include/linux/platform_data/st33zp24.h
  

Comments

Jarkko Sakkinen Nov. 1, 2022, 1:10 a.m. UTC | #1
On Thu, Oct 27, 2022 at 12:13:47AM -0700, Dmitry Torokhov wrote:
> Drop support for platform data from the driver because there are no
> users of st33zp24_platform_data structure in the mainline kernel.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> v3: switch back to using TPM_ST33_SPI macro when setting SPI driver name 
> v2: reworked commit message
> 
>  drivers/char/tpm/st33zp24/i2c.c        | 41 ++-----------------------
>  drivers/char/tpm/st33zp24/spi.c        | 42 ++------------------------
>  drivers/char/tpm/st33zp24/st33zp24.h   |  3 ++
>  include/linux/platform_data/st33zp24.h | 16 ----------
>  4 files changed, 9 insertions(+), 93 deletions(-)
>  delete mode 100644 include/linux/platform_data/st33zp24.h
> 
> diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
> index a3aa411389e7..c560532647c8 100644
> --- a/drivers/char/tpm/st33zp24/i2c.c
> +++ b/drivers/char/tpm/st33zp24/i2c.c
> @@ -12,7 +12,6 @@
>  #include <linux/of_gpio.h>
>  #include <linux/acpi.h>
>  #include <linux/tpm.h>
> -#include <linux/platform_data/st33zp24.h>
>  
>  #include "../tpm.h"
>  #include "st33zp24.h"
> @@ -178,36 +177,6 @@ static int st33zp24_i2c_of_request_resources(struct i2c_client *client)
>  	return 0;
>  }
>  
> -static int st33zp24_i2c_request_resources(struct i2c_client *client)
> -{
> -	struct tpm_chip *chip = i2c_get_clientdata(client);
> -	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
> -	struct st33zp24_i2c_phy *phy = tpm_dev->phy_id;
> -	struct st33zp24_platform_data *pdata;
> -	int ret;
> -
> -	pdata = client->dev.platform_data;
> -	if (!pdata) {
> -		dev_err(&client->dev, "No platform data\n");
> -		return -ENODEV;
> -	}
> -
> -	/* store for late use */
> -	phy->io_lpcpd = pdata->io_lpcpd;
> -
> -	if (gpio_is_valid(pdata->io_lpcpd)) {
> -		ret = devm_gpio_request_one(&client->dev,
> -				pdata->io_lpcpd, GPIOF_OUT_INIT_HIGH,
> -				"TPM IO_LPCPD");
> -		if (ret) {
> -			dev_err(&client->dev, "Failed to request lpcpd pin\n");
> -			return ret;
> -		}
> -	}
> -
> -	return 0;
> -}
> -
>  /*
>   * st33zp24_i2c_probe initialize the TPM device
>   * @param: client, the i2c_client description (TPM I2C description).
> @@ -219,7 +188,6 @@ static int st33zp24_i2c_probe(struct i2c_client *client,
>  			      const struct i2c_device_id *id)
>  {
>  	int ret;
> -	struct st33zp24_platform_data *pdata;
>  	struct st33zp24_i2c_phy *phy;
>  
>  	if (!client) {
> @@ -240,19 +208,16 @@ static int st33zp24_i2c_probe(struct i2c_client *client,
>  
>  	phy->client = client;
>  
> -	pdata = client->dev.platform_data;
> -	if (!pdata && client->dev.of_node) {
> +	if (client->dev.of_node) {
>  		ret = st33zp24_i2c_of_request_resources(client);
>  		if (ret)
>  			return ret;
> -	} else if (pdata) {
> -		ret = st33zp24_i2c_request_resources(client);
> -		if (ret)
> -			return ret;
>  	} else if (ACPI_HANDLE(&client->dev)) {
>  		ret = st33zp24_i2c_acpi_request_resources(client);
>  		if (ret)
>  			return ret;
> +	} else {
> +		return -ENODEV;
>  	}
>  
>  	return st33zp24_probe(phy, &i2c_phy_ops, &client->dev, client->irq,
> diff --git a/drivers/char/tpm/st33zp24/spi.c b/drivers/char/tpm/st33zp24/spi.c
> index 22d184884694..2b121d009959 100644
> --- a/drivers/char/tpm/st33zp24/spi.c
> +++ b/drivers/char/tpm/st33zp24/spi.c
> @@ -12,7 +12,6 @@
>  #include <linux/of_gpio.h>
>  #include <linux/acpi.h>
>  #include <linux/tpm.h>
> -#include <linux/platform_data/st33zp24.h>
>  
>  #include "../tpm.h"
>  #include "st33zp24.h"
> @@ -296,37 +295,6 @@ static int st33zp24_spi_of_request_resources(struct spi_device *spi_dev)
>  	return 0;
>  }
>  
> -static int st33zp24_spi_request_resources(struct spi_device *dev)
> -{
> -	struct tpm_chip *chip = spi_get_drvdata(dev);
> -	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
> -	struct st33zp24_spi_phy *phy = tpm_dev->phy_id;
> -	struct st33zp24_platform_data *pdata;
> -	int ret;
> -
> -	pdata = dev->dev.platform_data;
> -	if (!pdata) {
> -		dev_err(&dev->dev, "No platform data\n");
> -		return -ENODEV;
> -	}
> -
> -	/* store for late use */
> -	phy->io_lpcpd = pdata->io_lpcpd;
> -
> -	if (gpio_is_valid(pdata->io_lpcpd)) {
> -		ret = devm_gpio_request_one(&dev->dev,
> -				pdata->io_lpcpd, GPIOF_OUT_INIT_HIGH,
> -				"TPM IO_LPCPD");
> -		if (ret) {
> -			dev_err(&dev->dev, "%s : reset gpio_request failed\n",
> -				__FILE__);
> -			return ret;
> -		}
> -	}
> -
> -	return 0;
> -}
> -
>  /*
>   * st33zp24_spi_probe initialize the TPM device
>   * @param: dev, the spi_device description (TPM SPI description).
> @@ -336,7 +304,6 @@ static int st33zp24_spi_request_resources(struct spi_device *dev)
>  static int st33zp24_spi_probe(struct spi_device *dev)
>  {
>  	int ret;
> -	struct st33zp24_platform_data *pdata;
>  	struct st33zp24_spi_phy *phy;
>  
>  	/* Check SPI platform functionnalities */
> @@ -353,19 +320,16 @@ static int st33zp24_spi_probe(struct spi_device *dev)
>  
>  	phy->spi_device = dev;
>  
> -	pdata = dev->dev.platform_data;
> -	if (!pdata && dev->dev.of_node) {
> +	if (dev->dev.of_node) {
>  		ret = st33zp24_spi_of_request_resources(dev);
>  		if (ret)
>  			return ret;
> -	} else if (pdata) {
> -		ret = st33zp24_spi_request_resources(dev);
> -		if (ret)
> -			return ret;
>  	} else if (ACPI_HANDLE(&dev->dev)) {
>  		ret = st33zp24_spi_acpi_request_resources(dev);
>  		if (ret)
>  			return ret;
> +	} else {
> +		return -ENODEV;
>  	}
>  
>  	phy->latency = st33zp24_spi_evaluate_latency(phy);
> diff --git a/drivers/char/tpm/st33zp24/st33zp24.h b/drivers/char/tpm/st33zp24/st33zp24.h
> index b387a476c555..6a26dbc3206b 100644
> --- a/drivers/char/tpm/st33zp24/st33zp24.h
> +++ b/drivers/char/tpm/st33zp24/st33zp24.h
> @@ -7,6 +7,9 @@
>  #ifndef __LOCAL_ST33ZP24_H__
>  #define __LOCAL_ST33ZP24_H__
>  
> +#define TPM_ST33_I2C		"st33zp24-i2c"
> +#define TPM_ST33_SPI		"st33zp24-spi"
> +
>  #define TPM_WRITE_DIRECTION	0x80
>  #define ST33ZP24_BUFSIZE	2048
>  
> diff --git a/include/linux/platform_data/st33zp24.h b/include/linux/platform_data/st33zp24.h
> deleted file mode 100644
> index 61db674f36cc..000000000000
> --- a/include/linux/platform_data/st33zp24.h
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * STMicroelectronics TPM Linux driver for TPM 1.2 ST33ZP24
> - * Copyright (C) 2009 - 2016  STMicroelectronics
> - */
> -#ifndef __ST33ZP24_H__
> -#define __ST33ZP24_H__
> -
> -#define TPM_ST33_I2C			"st33zp24-i2c"
> -#define TPM_ST33_SPI			"st33zp24-spi"
> -
> -struct st33zp24_platform_data {
> -	int io_lpcpd;
> -};
> -
> -#endif /* __ST33ZP24_H__ */
> -- 
> 2.38.0.135.g90850a2211-goog
> 


Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

BR, Jarkko
  

Patch

diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
index a3aa411389e7..c560532647c8 100644
--- a/drivers/char/tpm/st33zp24/i2c.c
+++ b/drivers/char/tpm/st33zp24/i2c.c
@@ -12,7 +12,6 @@ 
 #include <linux/of_gpio.h>
 #include <linux/acpi.h>
 #include <linux/tpm.h>
-#include <linux/platform_data/st33zp24.h>
 
 #include "../tpm.h"
 #include "st33zp24.h"
@@ -178,36 +177,6 @@  static int st33zp24_i2c_of_request_resources(struct i2c_client *client)
 	return 0;
 }
 
-static int st33zp24_i2c_request_resources(struct i2c_client *client)
-{
-	struct tpm_chip *chip = i2c_get_clientdata(client);
-	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
-	struct st33zp24_i2c_phy *phy = tpm_dev->phy_id;
-	struct st33zp24_platform_data *pdata;
-	int ret;
-
-	pdata = client->dev.platform_data;
-	if (!pdata) {
-		dev_err(&client->dev, "No platform data\n");
-		return -ENODEV;
-	}
-
-	/* store for late use */
-	phy->io_lpcpd = pdata->io_lpcpd;
-
-	if (gpio_is_valid(pdata->io_lpcpd)) {
-		ret = devm_gpio_request_one(&client->dev,
-				pdata->io_lpcpd, GPIOF_OUT_INIT_HIGH,
-				"TPM IO_LPCPD");
-		if (ret) {
-			dev_err(&client->dev, "Failed to request lpcpd pin\n");
-			return ret;
-		}
-	}
-
-	return 0;
-}
-
 /*
  * st33zp24_i2c_probe initialize the TPM device
  * @param: client, the i2c_client description (TPM I2C description).
@@ -219,7 +188,6 @@  static int st33zp24_i2c_probe(struct i2c_client *client,
 			      const struct i2c_device_id *id)
 {
 	int ret;
-	struct st33zp24_platform_data *pdata;
 	struct st33zp24_i2c_phy *phy;
 
 	if (!client) {
@@ -240,19 +208,16 @@  static int st33zp24_i2c_probe(struct i2c_client *client,
 
 	phy->client = client;
 
-	pdata = client->dev.platform_data;
-	if (!pdata && client->dev.of_node) {
+	if (client->dev.of_node) {
 		ret = st33zp24_i2c_of_request_resources(client);
 		if (ret)
 			return ret;
-	} else if (pdata) {
-		ret = st33zp24_i2c_request_resources(client);
-		if (ret)
-			return ret;
 	} else if (ACPI_HANDLE(&client->dev)) {
 		ret = st33zp24_i2c_acpi_request_resources(client);
 		if (ret)
 			return ret;
+	} else {
+		return -ENODEV;
 	}
 
 	return st33zp24_probe(phy, &i2c_phy_ops, &client->dev, client->irq,
diff --git a/drivers/char/tpm/st33zp24/spi.c b/drivers/char/tpm/st33zp24/spi.c
index 22d184884694..2b121d009959 100644
--- a/drivers/char/tpm/st33zp24/spi.c
+++ b/drivers/char/tpm/st33zp24/spi.c
@@ -12,7 +12,6 @@ 
 #include <linux/of_gpio.h>
 #include <linux/acpi.h>
 #include <linux/tpm.h>
-#include <linux/platform_data/st33zp24.h>
 
 #include "../tpm.h"
 #include "st33zp24.h"
@@ -296,37 +295,6 @@  static int st33zp24_spi_of_request_resources(struct spi_device *spi_dev)
 	return 0;
 }
 
-static int st33zp24_spi_request_resources(struct spi_device *dev)
-{
-	struct tpm_chip *chip = spi_get_drvdata(dev);
-	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
-	struct st33zp24_spi_phy *phy = tpm_dev->phy_id;
-	struct st33zp24_platform_data *pdata;
-	int ret;
-
-	pdata = dev->dev.platform_data;
-	if (!pdata) {
-		dev_err(&dev->dev, "No platform data\n");
-		return -ENODEV;
-	}
-
-	/* store for late use */
-	phy->io_lpcpd = pdata->io_lpcpd;
-
-	if (gpio_is_valid(pdata->io_lpcpd)) {
-		ret = devm_gpio_request_one(&dev->dev,
-				pdata->io_lpcpd, GPIOF_OUT_INIT_HIGH,
-				"TPM IO_LPCPD");
-		if (ret) {
-			dev_err(&dev->dev, "%s : reset gpio_request failed\n",
-				__FILE__);
-			return ret;
-		}
-	}
-
-	return 0;
-}
-
 /*
  * st33zp24_spi_probe initialize the TPM device
  * @param: dev, the spi_device description (TPM SPI description).
@@ -336,7 +304,6 @@  static int st33zp24_spi_request_resources(struct spi_device *dev)
 static int st33zp24_spi_probe(struct spi_device *dev)
 {
 	int ret;
-	struct st33zp24_platform_data *pdata;
 	struct st33zp24_spi_phy *phy;
 
 	/* Check SPI platform functionnalities */
@@ -353,19 +320,16 @@  static int st33zp24_spi_probe(struct spi_device *dev)
 
 	phy->spi_device = dev;
 
-	pdata = dev->dev.platform_data;
-	if (!pdata && dev->dev.of_node) {
+	if (dev->dev.of_node) {
 		ret = st33zp24_spi_of_request_resources(dev);
 		if (ret)
 			return ret;
-	} else if (pdata) {
-		ret = st33zp24_spi_request_resources(dev);
-		if (ret)
-			return ret;
 	} else if (ACPI_HANDLE(&dev->dev)) {
 		ret = st33zp24_spi_acpi_request_resources(dev);
 		if (ret)
 			return ret;
+	} else {
+		return -ENODEV;
 	}
 
 	phy->latency = st33zp24_spi_evaluate_latency(phy);
diff --git a/drivers/char/tpm/st33zp24/st33zp24.h b/drivers/char/tpm/st33zp24/st33zp24.h
index b387a476c555..6a26dbc3206b 100644
--- a/drivers/char/tpm/st33zp24/st33zp24.h
+++ b/drivers/char/tpm/st33zp24/st33zp24.h
@@ -7,6 +7,9 @@ 
 #ifndef __LOCAL_ST33ZP24_H__
 #define __LOCAL_ST33ZP24_H__
 
+#define TPM_ST33_I2C		"st33zp24-i2c"
+#define TPM_ST33_SPI		"st33zp24-spi"
+
 #define TPM_WRITE_DIRECTION	0x80
 #define ST33ZP24_BUFSIZE	2048
 
diff --git a/include/linux/platform_data/st33zp24.h b/include/linux/platform_data/st33zp24.h
deleted file mode 100644
index 61db674f36cc..000000000000
--- a/include/linux/platform_data/st33zp24.h
+++ /dev/null
@@ -1,16 +0,0 @@ 
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*
- * STMicroelectronics TPM Linux driver for TPM 1.2 ST33ZP24
- * Copyright (C) 2009 - 2016  STMicroelectronics
- */
-#ifndef __ST33ZP24_H__
-#define __ST33ZP24_H__
-
-#define TPM_ST33_I2C			"st33zp24-i2c"
-#define TPM_ST33_SPI			"st33zp24-spi"
-
-struct st33zp24_platform_data {
-	int io_lpcpd;
-};
-
-#endif /* __ST33ZP24_H__ */