diff --git a/lib/devres.c b/lib/devres.c
index 8c85672639d3e08aa6e9cdf88b545ba273baaac2..cb1464c411a2b4fa88778343bf33208ccd8dae76 100644
--- a/lib/devres.c
+++ b/lib/devres.c
@@ -236,7 +236,7 @@ struct pcim_iomap_devres {
 
 static void pcim_iomap_release(struct device *gendev, void *res)
 {
-	struct pci_dev *dev = container_of(gendev, struct pci_dev, dev);
+	struct pci_dev *dev = to_pci_dev(gendev);
 	struct pcim_iomap_devres *this = res;
 	int i;