Re: [PATCH v6 4/4] x86/sev: register tpm-svsm platform device
From: Stefano Garzarella
Date: Wed Apr 09 2025 - 12:52:23 EST
On Wed, 9 Apr 2025 at 18:08, Tom Lendacky <thomas.lendacky@xxxxxxx> wrote:
>
> 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.
I see, agree.
>
> So the vTPM driver wouldn't change, just snp_init_platform_device():
>
> if (snp_vmpl && platform_device_register(&tpm_svsm_device))
I can do if we agree on that.
>
> Looking at the message that is issued after, maybe it should read
> "devices" now.
Good catch, I'll update the pr_info() message!
Thanks,
Stefano