[PATCH] tpm: Switch i2c drivers back to use .probe()

Jarkko Sakkinen jarkko at kernel.org
Tue Jul 18 16:38:32 PDT 2023


On Tue Jul 18, 2023 at 11:34 PM EEST, Uwe Kleine-König wrote:
> Hello,
>
> On Fri, Jun 09, 2023 at 08:36:40PM +0300, Jarkko Sakkinen wrote:
> > On Thu May 25, 2023 at 11:24 PM EEST, Uwe Kleine-König wrote:
> > > After commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new()
> > > call-back type"), all drivers being converted to .probe_new() and then
> > > 03c835f498b5 ("i2c: Switch .probe() to not take an id parameter")
> > > convert back to (the new) .probe() to be able to eventually drop
> > > .probe_new() from struct i2c_driver.
> > >
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > > ---
> > >  drivers/char/tpm/st33zp24/i2c.c     | 2 +-
> > >  drivers/char/tpm/tpm_i2c_atmel.c    | 2 +-
> > >  drivers/char/tpm/tpm_i2c_infineon.c | 2 +-
> > >  drivers/char/tpm/tpm_i2c_nuvoton.c  | 2 +-
> > >  drivers/char/tpm/tpm_tis_i2c.c      | 2 +-
> > >  drivers/char/tpm/tpm_tis_i2c_cr50.c | 2 +-
> > >  6 files changed, 6 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
> > > index 2d28f55ef490..661574bb0acf 100644
> > > --- a/drivers/char/tpm/st33zp24/i2c.c
> > > +++ b/drivers/char/tpm/st33zp24/i2c.c
> > > @@ -160,7 +160,7 @@ static struct i2c_driver st33zp24_i2c_driver = {
> > >  		.of_match_table = of_match_ptr(of_st33zp24_i2c_match),
> > >  		.acpi_match_table = ACPI_PTR(st33zp24_i2c_acpi_match),
> > >  	},
> > > -	.probe_new = st33zp24_i2c_probe,
> > > +	.probe = st33zp24_i2c_probe,
> > >  	.remove = st33zp24_i2c_remove,
> > >  	.id_table = st33zp24_i2c_id
> > >  };
> > > diff --git a/drivers/char/tpm/tpm_i2c_atmel.c b/drivers/char/tpm/tpm_i2c_atmel.c
> > > index 8f77154e0550..301a95b3734f 100644
> > > --- a/drivers/char/tpm/tpm_i2c_atmel.c
> > > +++ b/drivers/char/tpm/tpm_i2c_atmel.c
> > > @@ -203,7 +203,7 @@ static SIMPLE_DEV_PM_OPS(i2c_atmel_pm_ops, tpm_pm_suspend, tpm_pm_resume);
> > >  
> > >  static struct i2c_driver i2c_atmel_driver = {
> > >  	.id_table = i2c_atmel_id,
> > > -	.probe_new = i2c_atmel_probe,
> > > +	.probe = i2c_atmel_probe,
> > >  	.remove = i2c_atmel_remove,
> > >  	.driver = {
> > >  		.name = I2C_DRIVER_NAME,
> > > diff --git a/drivers/char/tpm/tpm_i2c_infineon.c b/drivers/char/tpm/tpm_i2c_infineon.c
> > > index 7cdaff52a96d..81d8a78dc655 100644
> > > --- a/drivers/char/tpm/tpm_i2c_infineon.c
> > > +++ b/drivers/char/tpm/tpm_i2c_infineon.c
> > > @@ -716,7 +716,7 @@ static void tpm_tis_i2c_remove(struct i2c_client *client)
> > >  
> > >  static struct i2c_driver tpm_tis_i2c_driver = {
> > >  	.id_table = tpm_tis_i2c_table,
> > > -	.probe_new = tpm_tis_i2c_probe,
> > > +	.probe = tpm_tis_i2c_probe,
> > >  	.remove = tpm_tis_i2c_remove,
> > >  	.driver = {
> > >  		   .name = "tpm_i2c_infineon",
> > > diff --git a/drivers/char/tpm/tpm_i2c_nuvoton.c b/drivers/char/tpm/tpm_i2c_nuvoton.c
> > > index a026e98add50..d7be03c41098 100644
> > > --- a/drivers/char/tpm/tpm_i2c_nuvoton.c
> > > +++ b/drivers/char/tpm/tpm_i2c_nuvoton.c
> > > @@ -650,7 +650,7 @@ static SIMPLE_DEV_PM_OPS(i2c_nuvoton_pm_ops, tpm_pm_suspend, tpm_pm_resume);
> > >  
> > >  static struct i2c_driver i2c_nuvoton_driver = {
> > >  	.id_table = i2c_nuvoton_id,
> > > -	.probe_new = i2c_nuvoton_probe,
> > > +	.probe = i2c_nuvoton_probe,
> > >  	.remove = i2c_nuvoton_remove,
> > >  	.driver = {
> > >  		.name = "tpm_i2c_nuvoton",
> > > diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
> > > index c8c34adc14c0..11b4196b7136 100644
> > > --- a/drivers/char/tpm/tpm_tis_i2c.c
> > > +++ b/drivers/char/tpm/tpm_tis_i2c.c
> > > @@ -379,7 +379,7 @@ static struct i2c_driver tpm_tis_i2c_driver = {
> > >  		.pm = &tpm_tis_pm,
> > >  		.of_match_table = of_match_ptr(of_tis_i2c_match),
> > >  	},
> > > -	.probe_new = tpm_tis_i2c_probe,
> > > +	.probe = tpm_tis_i2c_probe,
> > >  	.remove = tpm_tis_i2c_remove,
> > >  	.id_table = tpm_tis_i2c_id,
> > >  };
> > > diff --git a/drivers/char/tpm/tpm_tis_i2c_cr50.c b/drivers/char/tpm/tpm_tis_i2c_cr50.c
> > > index 376ae18a04eb..e70abd69e1ae 100644
> > > --- a/drivers/char/tpm/tpm_tis_i2c_cr50.c
> > > +++ b/drivers/char/tpm/tpm_tis_i2c_cr50.c
> > > @@ -779,7 +779,7 @@ static void tpm_cr50_i2c_remove(struct i2c_client *client)
> > >  static SIMPLE_DEV_PM_OPS(cr50_i2c_pm, tpm_pm_suspend, tpm_pm_resume);
> > >  
> > >  static struct i2c_driver cr50_i2c_driver = {
> > > -	.probe_new = tpm_cr50_i2c_probe,
> > > +	.probe = tpm_cr50_i2c_probe,
> > >  	.remove = tpm_cr50_i2c_remove,
> > >  	.driver = {
> > >  		.name = "cr50_i2c",
> > > -- 
> > > 2.39.2
> > 
> > 
> > Thanks, applied!
>
> This was was in next up to next-20230717, it's not included in
> next-20230718 any more. The branch pulled into next from 
>
> 	git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git#next
>
> changed from 0ec1b5bea32bce719ebdab253462f9c9cb0aca3e to
> 481c2d14627de8ecbb54dd125466e4b4a5069b47. This is a rebase to v6.5-rc2
> dropping some more patches:
>
> 	$ git log --oneline 481c2d14627de8ecbb54dd125466e4b4a5069b47...0ec1b5bea32bce719ebdab253462f9c9cb0aca3e --cherry-pick --right-only
> 	5a29fb0d959a tpm: make all 'class' structures const
> 	17222dfebab1 tpm: remove redundant variable len
> 	dfd6ecc2066c tpm_tis: Resend command to recover from data transfer errors
> 	8458b36c647c tpm_tis: Use responseRetry to recover from data transfer errors
> 	a5dd583aa98b tpm_tis: Move CRC check to generic send routine
> 	126f3df1f03c tpm_tis: Explicitly check for error code
> 	dfba6d4ad558 tpm: Switch i2c drivers back to use .probe()
> 	bed72785706c tpm_tis-spi: Add hardware wait polling
> 	2afb9c102761 integrity: Enforce digitalSignature usage in the ima and evm keyrings
> 	0d8f1c250285 KEYS: DigitalSignature link restriction
> 	41e4e488742e KEYS: Replace all non-returning strlcpy with strscpy
> 	e2e51b64f0c8 security: keys: perform capable check only on privileged operations
>
> These all apply just fine on top of next-20230718, so I wonder what made
> you drop them. Can you please reapply at least dfba6d4ad558?
>
> Best regards
> Uwe
>
> -- 
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |

I was a bit stalled because of tpm_tis irq issue [1]. The two [2] requested
patches are now mirrored again to linux-next [3].

I'll create rc4 pull request after rc3 comes out.

[1] https://lkml.org/lkml/2023/7/18/1123
[2] https://lore.kernel.org/keyrings/CAJ2a_Dd-piQ51dqptuhJ8pXm+4HrFAcdbA-ESd8YwNO3qHnJrA@mail.gmail.com/
[3] https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/log/?h=next

BR, Jarkko





More information about the linux-arm-kernel mailing list