On 17/3/26 14:17, Stefan Berger wrote:
>
>
> On 3/17/26 8:02 AM, Philippe Mathieu-Daudé wrote:
>> Each TMP derived device has a @ppi_enabled field, itself
>
> TPM?
Finger crossed =)
>
>> exposed as a QOM property. External layers (like the ACPI
>> subsystem) wanting to know whether a device implements PPI
>> has to check for the QOM property available. This can be
>> simplified by declaring a single field in the TPM interface.
>>
>> Here we add such field to TPMIfClass, before converting each
>> TPM devices to use it in the following commits.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> include/system/tpm.h | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/include/system/tpm.h b/include/system/tpm.h
>> index b90dd4e8cb0..9458ad6668a 100644
>> --- a/include/system/tpm.h
>> +++ b/include/system/tpm.h
>> @@ -43,6 +43,7 @@ struct TPMIfClass {
>> enum TpmModel model;
>> void (*request_completed)(TPMIf *obj, int ret);
>> enum TPMVersion (*get_version)(TPMIf *obj);
>> + bool ppi_enabled;
>> };
>>
>> #define TYPE_TPM_TIS_ISA "tpm-tis"
>> @@ -84,6 +85,9 @@ static inline bool tpm_ppi_enabled(TPMIf *ti)
>> if (!ti) {
>> return false;
>> }
>> + if (TPM_IF_GET_CLASS(ti)->ppi_enabled) {
>> + return true;
>> + }
>> return object_property_get_bool(OBJECT(ti), "ppi", &error_abort);
>> }
>>
>
> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
>
Thanks!