#ifdef CONFIG_SPARC
 #include <asm/prom.h>
-#include <asm/pbm.h>
 #endif
 
 /* XXX(hch): this is ugly, but we don't want to pull in exioctl.h */
 {
 #ifdef CONFIG_SPARC
        struct pci_dev *pdev = ha->pdev;
-       struct pcidev_cookie *pcp = pdev->sysdata;
-       struct device_node *dp = pcp->prom_node;
-       u8 *val;
+       struct device_node *dp = pci_device_to_OF_node(pdev);
+       const u8 *val;
        int len;
 
        val = of_get_property(dp, "port-wwn", &len);
 {
 #ifdef CONFIG_SPARC
        struct pci_dev *pdev = ha->pdev;
-       struct pcidev_cookie *pcp = pdev->sysdata;
-       struct device_node *dp = pcp->prom_node;
-       u8 *val;
+       struct device_node *dp = pci_device_to_OF_node(pdev);
+       const u8 *val;
        int len;
 
        val = of_get_property(dp, "port-wwn", &len);