Re: [PATCH v6 4/4] x86/sev: register tpm-svsm platform device
From: Tom Lendacky
Date: Wed Apr 09 2025 - 12:13:33 EST
On 4/9/25 06:31, Borislav Petkov wrote:
> On Wed, Apr 09, 2025 at 12:43:01PM +0200, Stefano Garzarella wrote:
>> Sorry, maybe I missed something.
>>
>> tpm_svsm.c registers the driver with module_platform_driver_probe().
>>
>> Someone (the platform I guess) has to register the device by calling
>> platform_device_register(), as we already do for example for
>> sev_guest.
>
> Maybe that platform device thing is the wrong approach. Why does the core code
> need to register some dummy platform device in the first place? Why can't
> drivers/char/tpm/tpm_svsm.c probe and init without it?
I think the platform device is the right approach (just like we do for the
sev-guest driver), but I think we should only register the device if an
SVSM is present. Then let the vTPM driver probe routine check if the SVSM
vTPM support is present.
So the vTPM driver wouldn't change, just snp_init_platform_device():
if (snp_vmpl && platform_device_register(&tpm_svsm_device))
Looking at the message that is issued after, maybe it should read
"devices" now.
Thanks,
Tom
>