[RESEND] tpm: nuvoton: Use i2c_get_match_data()
Commit Message
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
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
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
@@ -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);