[RESEND] tpm: nuvoton: Use i2c_get_match_data()

Message ID 20231115210215.3743873-1-robh@kernel.org
State New
Headers
Series [RESEND] tpm: nuvoton: Use i2c_get_match_data() |

Commit Message

Rob Herring Nov. 15, 2023, 9:02 p.m. UTC
  Use preferred i2c_get_match_data() instead of of_match_device() to
get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/char/tpm/tpm_i2c_nuvoton.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)
  

Comments

Jarkko Sakkinen Nov. 15, 2023, 9:37 p.m. UTC | #1
On Wed Nov 15, 2023 at 11:02 PM EET, Rob Herring wrote:
> Use preferred i2c_get_match_data() instead of of_match_device() to
> get the driver match data. With this, adjust the includes to explicitly
> include the correct headers.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  drivers/char/tpm/tpm_i2c_nuvoton.c | 15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm_i2c_nuvoton.c b/drivers/char/tpm/tpm_i2c_nuvoton.c
> index d7be03c41098..5490f7e0fa43 100644
> --- a/drivers/char/tpm/tpm_i2c_nuvoton.c
> +++ b/drivers/char/tpm/tpm_i2c_nuvoton.c
> @@ -19,7 +19,8 @@
>  #include <linux/interrupt.h>
>  #include <linux/wait.h>
>  #include <linux/i2c.h>
> -#include <linux/of_device.h>
> +#include <linux/of.h>
> +#include <linux/property.h>
>  #include "tpm.h"
>  
>  /* I2C interface offsets */
> @@ -524,7 +525,6 @@ static int get_vid(struct i2c_client *client, u32 *res)
>  
>  static int i2c_nuvoton_probe(struct i2c_client *client)
>  {
> -	const struct i2c_device_id *id = i2c_client_get_device_id(client);
>  	int rc;
>  	struct tpm_chip *chip;
>  	struct device *dev = &client->dev;
> @@ -546,15 +546,8 @@ static int i2c_nuvoton_probe(struct i2c_client *client)
>  	if (!priv)
>  		return -ENOMEM;
>  
> -	if (dev->of_node) {
> -		const struct of_device_id *of_id;
> -
> -		of_id = of_match_device(dev->driver->of_match_table, dev);
> -		if (of_id && of_id->data == OF_IS_TPM2)
> -			chip->flags |= TPM_CHIP_FLAG_TPM2;
> -	} else
> -		if (id->driver_data == I2C_IS_TPM2)
> -			chip->flags |= TPM_CHIP_FLAG_TPM2;
> +	if (i2c_get_match_data(client))
> +		chip->flags |= TPM_CHIP_FLAG_TPM2;
>  
>  	init_waitqueue_head(&priv->read_queue);
>  

OK, apologies for having to do a resend. I'll pick this, thanks!

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

BR, Jarkko
  
Lukas Wunner Dec. 16, 2023, 9:47 a.m. UTC | #2
On Wed, Nov 15, 2023 at 11:37:55PM +0200, Jarkko Sakkinen wrote:
> On Wed Nov 15, 2023 at 11:02 PM EET, Rob Herring wrote:
> > Use preferred i2c_get_match_data() instead of of_match_device() to
> > get the driver match data. With this, adjust the includes to explicitly
> > include the correct headers.
> >
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >  drivers/char/tpm/tpm_i2c_nuvoton.c | 15 ++++-----------
[...]
> 
> OK, apologies for having to do a resend. I'll pick this, thanks!

This is now duplicated as commit ebf2d4e8e582 in Jarkko's tree and
commit 319e31686b9f in Rob's tree:

https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?h=next&id=ebf2d4e8e582a444e12eff7d4a59d87f22fb3481

https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/commit/?h=for-next&id=319e31686b9f2bd669fd5c3a63b8ccf2efd9186f
  

Patch

diff --git a/drivers/char/tpm/tpm_i2c_nuvoton.c b/drivers/char/tpm/tpm_i2c_nuvoton.c
index d7be03c41098..5490f7e0fa43 100644
--- a/drivers/char/tpm/tpm_i2c_nuvoton.c
+++ b/drivers/char/tpm/tpm_i2c_nuvoton.c
@@ -19,7 +19,8 @@ 
 #include <linux/interrupt.h>
 #include <linux/wait.h>
 #include <linux/i2c.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
+#include <linux/property.h>
 #include "tpm.h"
 
 /* I2C interface offsets */
@@ -524,7 +525,6 @@  static int get_vid(struct i2c_client *client, u32 *res)
 
 static int i2c_nuvoton_probe(struct i2c_client *client)
 {
-	const struct i2c_device_id *id = i2c_client_get_device_id(client);
 	int rc;
 	struct tpm_chip *chip;
 	struct device *dev = &client->dev;
@@ -546,15 +546,8 @@  static int i2c_nuvoton_probe(struct i2c_client *client)
 	if (!priv)
 		return -ENOMEM;
 
-	if (dev->of_node) {
-		const struct of_device_id *of_id;
-
-		of_id = of_match_device(dev->driver->of_match_table, dev);
-		if (of_id && of_id->data == OF_IS_TPM2)
-			chip->flags |= TPM_CHIP_FLAG_TPM2;
-	} else
-		if (id->driver_data == I2C_IS_TPM2)
-			chip->flags |= TPM_CHIP_FLAG_TPM2;
+	if (i2c_get_match_data(client))
+		chip->flags |= TPM_CHIP_FLAG_TPM2;
 
 	init_waitqueue_head(&priv->read_queue);