Re: [PATCH v1 7/8] tpm: tis-i2c: Add more compatible strings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 12, 2023 at 05:15:51PM +0000, Conor Dooley wrote:
> On Tue, Dec 12, 2023 at 10:40:03AM -0600, Ninad Palsule wrote:
> > From: Joel Stanley <joel@xxxxxxxxx>
> > 
> > The NPCT75x TPM is TIS compatible. It has an I2C and SPI interface.
> > 
> > https://www.nuvoton.com/products/cloud-computing/security/trusted-platform-module-tpm/
> > 
> > Add a compatible string for it, and the generic compatible.
> > 
> > OpenBMC-Staging-Count: 3
> 
> Delete this from every patch that it appears from.
> 
> > Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
> > Acked-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
> > Link: https://lore.kernel.org/r/20220928043957.2636877-4-joel@xxxxxxxxx
> > Signed-off-by: Ninad Palsule <ninad@xxxxxxxxxxxxx>
> > ---
> >  drivers/char/tpm/tpm_tis_i2c.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
> > index a897402cc36a..9511c0d50185 100644
> > --- a/drivers/char/tpm/tpm_tis_i2c.c
> > +++ b/drivers/char/tpm/tpm_tis_i2c.c
> > @@ -383,6 +383,8 @@ MODULE_DEVICE_TABLE(i2c, tpm_tis_i2c_id);
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id of_tis_i2c_match[] = {
> >  	{ .compatible = "infineon,slb9673", },
> > +	{ .compatible = "nuvoton,npct75x", },
> > +	{ .compatible = "tcg,tpm-tis-i2c", },
> 
> What's the point of the generic compatible if you are adding the device
> specific ones to the driver anyway?
> 

$ git grep infineon,slb9673
Documentation/devicetree/bindings/trivial-devices.yaml:          - infineon,slb9673
drivers/char/tpm/tpm_tis_i2c.c: { .compatible = "infineon,slb9673", },
$ git grep nuvoton,npct75x
arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-bonnell.dts:            compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-everest.dts:            compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
$ git grep tcg,tpm-tis-i2c
arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-bonnell.dts:            compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
arch/arm/boot/dts/aspeed/aspeed-bmc-ibm-everest.dts:            compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
arch/arm/boot/dts/aspeed/aspeed-bmc-opp-tacoma.dts:             compatible = "tcg,tpm-tis-i2c";

It looks like at least the generic entry is needed, given that it is quite
likely that there is hardware out there using it. Other than that, this
makes me wonder: Is there some official guideline describing if and when
to use (only) generic devicetree compatible entries and when specific ones
may / should / have to be used ? I suspect the answer to your question might
simply be "because we did not know better", and it might be helpful to be
able to say "please see XXX for details".

Thanks,
Guenter




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux