Quoting Jarkko Sakkinen (2019-08-19 09:40:05) > On Mon, Aug 12, 2019 at 03:36:20PM -0700, Stephen Boyd wrote: > > Export a new function, tpm_tis_spi_init(), and the associated > > read/write/transfer APIs so that we can create variant drivers based on > > the core functionality of this TPM SPI driver. Variant drivers can wrap > > the tpm_tis_spi_phy struct with their own struct and override the > > behavior of tpm_tis_spi_transfer() by supplying their own flow control > > and pre-transfer hooks. This shares the most code between the core > > driver and any variants that want to override certain behavior without > > cluttering the core driver. > > I think this is adding way too much complexity for the purpose. We > definitely do want this three layer architecture here. > > Instead there should be a single tpm_tis_spi driver that dynamically > either TCG or CR50. I rather take some extra bytes in the LKM than > the added complexity. > Ok. I had that patch originally[1]. Do you want me to resend that patch and start review over from there? [1] https://lkml.kernel.org/r/5d2f955d.1c69fb81.35877.7018@xxxxxxxxxxxxx