On Tue, Mar 11, 2025 at 01:25:50PM -0500, Stuart Yoder wrote: > > > On 3/11/25 11:51 AM, Thorsten Leemhuis wrote: > > On 11.03.25 16:53, Stuart Yoder wrote: > > > On 3/11/25 10:21 AM, Thorsten Leemhuis wrote: > > > > On 05.03.25 18:36, Stuart Yoder wrote: > > > [...] > > > So, it should not be possible on one had have > > > CONFIG_TCG_ARM_CRB_FFA being true when building tpm_crb.c > > > and false resulting in the tpm_crb_ffa.o not being > > > picked up in the build. > > > > Many thx for the answer. Maybe Fedora's way to prepare the .config files > > (which my package builds use to be close to Fedora's official packages) > > is doing something odd/wrong. Will take a closer look and report back. > > I've been experimenting with some different build config combinations > and have reproduced what must be the issue. > > This works fine: > <*> TPM 2.0 CRB Interface < > > TPM CRB over Arm FF-A Transport > > This works fine: > < > TPM 2.0 CRB Interface <*> > TPM CRB over Arm FF-A Transport > > This works fine: > <*> TPM 2.0 CRB Interface <*> > TPM CRB over Arm FF-A Transport > > This works fine: > <M> TPM 2.0 CRB Interface <M> > TPM CRB over Arm FF-A Transport > > This fails: > <*> TPM 2.0 CRB Interface <M> > TPM CRB over Arm FF-A Transport > > The 2 drivers are coupled, so we can't have one built as a module > and the other built-in. > > I'm not a Kconfig expert, and need to do some fiddling to see > if I can find a Kconfig syntax that prevents that failure scenario. > default y if (TCG_CRB && ARM_FFA_TRANSPORT) is the issue here. You can select it as built-in if either or one of the TCG_CRB and ARM_FFA_TRANSPORT is a module, but that is exactly what happens. Not sure if default value is a must for you. But just depends on each of these should be good enough and enable it in defconfig if needed. Or you can have multiple default at least 4 combinations I can see. Both are =y and either and both are =m -- Regards, Sudeep