struct device *dev)
 {
        struct s390_domain *s390_domain = to_s390_domain(domain);
-       struct zpci_dev *zdev = to_pci_dev(dev)->sysdata;
+       struct zpci_dev *zdev = to_zpci_dev(dev);
        struct s390_domain_device *domain_device;
        unsigned long flags;
        int rc;
                                     struct device *dev)
 {
        struct s390_domain *s390_domain = to_s390_domain(domain);
-       struct zpci_dev *zdev = to_pci_dev(dev)->sysdata;
+       struct zpci_dev *zdev = to_zpci_dev(dev);
        struct s390_domain_device *domain_device, *tmp;
        unsigned long flags;
        int found = 0;
 static int s390_iommu_add_device(struct device *dev)
 {
        struct iommu_group *group = iommu_group_get_for_dev(dev);
-       struct zpci_dev *zdev = to_pci_dev(dev)->sysdata;
+       struct zpci_dev *zdev = to_zpci_dev(dev);
 
        if (IS_ERR(group))
                return PTR_ERR(group);
 
 static void s390_iommu_remove_device(struct device *dev)
 {
-       struct zpci_dev *zdev = to_pci_dev(dev)->sysdata;
+       struct zpci_dev *zdev = to_zpci_dev(dev);
        struct iommu_domain *domain;
 
        /*