enum dma_data_direction direction,
                                     struct dma_attrs *attrs)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
        unsigned long nr_pages, iommu_page_index;
        unsigned long pa = page_to_phys(page) + offset;
        int flags = ZPCI_PTE_VALID;
                                 size_t size, enum dma_data_direction direction,
                                 struct dma_attrs *attrs)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
        unsigned long iommu_page_index;
        int npages;
 
                            dma_addr_t *dma_handle, gfp_t flag,
                            struct dma_attrs *attrs)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
        struct page *page;
        unsigned long pa;
        dma_addr_t map;
 
 static ssize_t show_fid(struct device *dev, struct device_attribute *attr,
                        char *buf)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
 
        sprintf(buf, "0x%08x\n", zdev->fid);
        return strlen(buf);
 static ssize_t show_fh(struct device *dev, struct device_attribute *attr,
                       char *buf)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
 
        sprintf(buf, "0x%08x\n", zdev->fh);
        return strlen(buf);
 static ssize_t show_pchid(struct device *dev, struct device_attribute *attr,
                          char *buf)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
 
        sprintf(buf, "0x%04x\n", zdev->pchid);
        return strlen(buf);
 static ssize_t show_pfgid(struct device *dev, struct device_attribute *attr,
                          char *buf)
 {
-       struct zpci_dev *zdev = get_zdev(container_of(dev, struct pci_dev, dev));
+       struct zpci_dev *zdev = get_zdev(to_pci_dev(dev));
 
        sprintf(buf, "0x%02x\n", zdev->pfgid);
        return strlen(buf);