> @@ -573,10 +690,13 @@ int pci_tsm_bind(struct pci_dev *pdev, struct kvm *kvm, u64 tdi_id) > return -EBUSY; > } > > - tdi = tsm_ops->bind(pdev, pf0_dev, kvm, tdi_id); > + tdi = tsm_ops->bind(pdev, dsm_dev, kvm, tdi_id); > if (!tdi) > return -ENXIO; > > + tdi->pdev = pdev; > + tdi->dsm_dev = dsm_dev; > + tdi->kvm = kvm; I think it is still better that platform TSM drivers assign these fields in ->bind(), just as pci_tsm_ops.probe() do. It is inconveniente that struct pci_tdi is not initialized, then these parameters have to be passed again and again between functions. Thanks, Yilun > pdev->tsm->tdi = tdi;