int                     ahc_pci_config(struct ahc_softc *,
                                        struct ahc_pci_identity *);
 int                     ahc_pci_test_register_access(struct ahc_softc *);
+#ifdef CONFIG_PM
 void                    ahc_pci_resume(struct ahc_softc *ahc);
+#endif
 
 /*************************** EISA/VL Front End ********************************/
 struct aic7770_identity *aic7770_find_device(uint32_t);
 int                     ahc_init(struct ahc_softc *ahc);
 void                    ahc_intr_enable(struct ahc_softc *ahc, int enable);
 void                    ahc_pause_and_flushwork(struct ahc_softc *ahc);
+#ifdef CONFIG_PM
 int                     ahc_suspend(struct ahc_softc *ahc); 
 int                     ahc_resume(struct ahc_softc *ahc);
+#endif
 void                    ahc_set_unit(struct ahc_softc *, int);
 void                    ahc_set_name(struct ahc_softc *, char *);
 void                    ahc_alloc_scbs(struct ahc_softc *ahc);
 
 #include "aic7xxx_osm.h"
 #include "aic7xxx_pci.h"
 
-static int     ahc_linux_pci_dev_probe(struct pci_dev *pdev,
-                                       const struct pci_device_id *ent);
-static int     ahc_linux_pci_reserve_io_region(struct ahc_softc *ahc,
-                                               u_long *base);
-static int     ahc_linux_pci_reserve_mem_region(struct ahc_softc *ahc,
-                                                u_long *bus_addr,
-                                                uint8_t __iomem **maddr);
-static int     ahc_linux_pci_dev_suspend(struct pci_dev *pdev, pm_message_t mesg);
-static int     ahc_linux_pci_dev_resume(struct pci_dev *pdev);
-static void    ahc_linux_pci_dev_remove(struct pci_dev *pdev);
-
 /* Define the macro locally since it's different for different class of chips.
 */
 #define ID(x)  ID_C(x, PCI_CLASS_STORAGE_SCSI)
 
 MODULE_DEVICE_TABLE(pci, ahc_linux_pci_id_table);
 
-static struct pci_driver aic7xxx_pci_driver = {
-       .name           = "aic7xxx",
-       .probe          = ahc_linux_pci_dev_probe,
 #ifdef CONFIG_PM
-       .suspend        = ahc_linux_pci_dev_suspend,
-       .resume         = ahc_linux_pci_dev_resume,
-#endif
-       .remove         = ahc_linux_pci_dev_remove,
-       .id_table       = ahc_linux_pci_id_table
-};
-
 static int
 ahc_linux_pci_dev_suspend(struct pci_dev *pdev, pm_message_t mesg)
 {
 
        return (ahc_resume(ahc));
 }
+#endif
 
 static void
 ahc_linux_pci_dev_remove(struct pci_dev *pdev)
        return (0);
 }
 
+static struct pci_driver aic7xxx_pci_driver = {
+       .name           = "aic7xxx",
+       .probe          = ahc_linux_pci_dev_probe,
+#ifdef CONFIG_PM
+       .suspend        = ahc_linux_pci_dev_suspend,
+       .resume         = ahc_linux_pci_dev_resume,
+#endif
+       .remove         = ahc_linux_pci_dev_remove,
+       .id_table       = ahc_linux_pci_id_table
+};
+
 int
 ahc_linux_pci_init(void)
 {