ahd_linux_biosparam() is only used on __i386__, and so other platforms get: drivers/scsi/aic7xxx/aic79xx_osm.c:1220: warning: `ahd_linux_biosparam' defined but not used which causes a build error due to -Werror. arch/ppc/kernel/misc.S | 0 drivers/scsi/aic7xxx/aic79xx_osm.c | 6 ++++++ 2 files changed, 6 insertions(+) diff -puN drivers/scsi/aic7xxx/aic79xx_osm.c~aic-non-i386-build-fix drivers/scsi/aic7xxx/aic79xx_osm.c --- 25-power4/drivers/scsi/aic7xxx/aic79xx_osm.c~aic-non-i386-build-fix 2003-05-13 22:22:26.000000000 -0700 +++ 25-power4-akpm/drivers/scsi/aic7xxx/aic79xx_osm.c 2003-05-13 22:22:26.000000000 -0700 @@ -795,14 +795,18 @@ static int ahd_linux_queue(Scsi_Cmnd static int ahd_linux_slave_alloc(Scsi_Device *); static int ahd_linux_slave_configure(Scsi_Device *); static void ahd_linux_slave_destroy(Scsi_Device *); +#if defined(__i386__) static int ahd_linux_biosparam(struct scsi_device*, struct block_device*, sector_t, int[]); +#endif #else static int ahd_linux_release(struct Scsi_Host *); static void ahd_linux_select_queue_depth(struct Scsi_Host *host, Scsi_Device *scsi_devs); +#if defined(__i386__) static int ahd_linux_biosparam(Disk *, kdev_t, int[]); #endif +#endif static int ahd_linux_bus_reset(Scsi_Cmnd *); static int ahd_linux_dev_reset(Scsi_Cmnd *); static int ahd_linux_abort(Scsi_Cmnd *); @@ -1213,6 +1217,7 @@ ahd_linux_select_queue_depth(struct Scsi /* * Return the disk geometry for the given SCSI device. */ +#if defined(__i386__) static int #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) ahd_linux_biosparam(struct scsi_device *sdev, struct block_device *bdev, @@ -1272,6 +1277,7 @@ ahd_linux_biosparam(Disk *disk, kdev_t d geom[2] = cylinders; return (0); } +#endif /* __i386__ */ /* * Abort the current SCSI command(s). diff -puN arch/ppc/kernel/misc.S~aic-non-i386-build-fix arch/ppc/kernel/misc.S _