On 4/8/22 8:47 AM, Jason Gunthorpe wrote:
On Mon, Apr 04, 2022 at 01:43:43PM -0400, Matthew Rosato wrote:
+int kvm_s390_pci_register_kvm(struct device *dev, void *data)
+{
+ struct zpci_dev *zdev = NULL;
+ struct kvm *kvm = data;
+
+ /* Only proceed for zPCI devices, quietly ignore others */
+ if (dev_is_pci(dev))
+ zdev = to_zpci_dev(dev);
+ if (!zdev)
+ return 0;
Especially since this only works if we have zpci device
So having the zpci code hook the kvm notifier and then call the arch
code from the zpci area seems pretty OK
Also why is a struct kvm * being passed as a void *?
Only because the function is intended to be called via
iommu_group_for_each_dev (next patch) which requires int (*fn)(struct
device *, void *)