[PATCH] aic79xx on Opteron compilation issues.

From: Yaroslav Klyukin
Date: Mon Dec 01 2003 - 16:55:01 EST


The 2.4.23 kernel would not compile with aic79xx support enabled.
The error message is attached.
In a nutshell it complains about function not used.

The patch attached is just a pair of "ifndef __x86_64__" statements.

I don't know all the details, but the kernel seems to compile and the driver work after patching.
I tried to partition and format the drive, then copied files onto it.
While doing that, did not notice anything extraordinary in dmesg output.




diff -urN linux-2.4.23/drivers/scsi/aic7xxx/aic79xx_osm_pci.c linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- linux-2.4.23/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2003-08-25 07:44:42.000000000 -0400
+++ linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2003-12-01 15:51:53.000000000 -0500
@@ -52,9 +52,11 @@
const struct pci_device_id *ent);
static int ahd_linux_pci_reserve_io_regions(struct ahd_softc *ahd,
u_long *base, u_long *base2);
+#ifndef __x86_64__
static int ahd_linux_pci_reserve_mem_region(struct ahd_softc *ahd,
u_long *bus_addr,
uint8_t **maddr);
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
static void ahd_linux_pci_dev_remove(struct pci_dev *pdev);

@@ -271,6 +273,9 @@
return (0);
}

+
+#ifndef __x86_64__
+
static int
ahd_linux_pci_reserve_mem_region(struct ahd_softc *ahd,
u_long *bus_addr,
@@ -319,6 +324,8 @@
return (error);
}

+#endif
+
int
ahd_pci_map_registers(struct ahd_softc *ahd)
{
diff -urN linux-2.4.23/drivers/scsi/aic7xxx/aic79xx_osm_pci.c linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- linux-2.4.23/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2003-08-25 07:44:42.000000000 -0400
+++ linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2003-12-01 15:51:53.000000000 -0500
@@ -52,9 +52,11 @@
const struct pci_device_id *ent);
static int ahd_linux_pci_reserve_io_regions(struct ahd_softc *ahd,
u_long *base, u_long *base2);
+#ifndef __x86_64__
static int ahd_linux_pci_reserve_mem_region(struct ahd_softc *ahd,
u_long *bus_addr,
uint8_t **maddr);
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
static void ahd_linux_pci_dev_remove(struct pci_dev *pdev);

@@ -271,6 +273,9 @@
return (0);
}

+
+#ifndef __x86_64__
+
static int
ahd_linux_pci_reserve_mem_region(struct ahd_softc *ahd,
u_long *bus_addr,
@@ -319,6 +324,8 @@
return (error);
}

+#endif
+
int
ahd_pci_map_registers(struct ahd_softc *ahd)
{