summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesper Juhl <juhl-lkml@dif.dk>2004-08-22 22:54:36 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-22 22:54:36 -0700
commit6c9ddeb1365c3ff5b16b71b4a04eb6573f6db23c (patch)
treeee78f54e148840838618e0f2008b4e169abf6c22
parente445e68097b4deab4ac5aa3e1b5b6098acb4fc31 (diff)
[PATCH] inlining errors in drivers/scsi/aic7xxx/aic79xx_osm.c
This patch fixes the following build error (in 2.6.8-rc2-mm1) when using gcc 3.4.0 drivers/scsi/aic7xxx/aic79xx_osm.c: In function `ahd_linux_dv_transition': drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3070: sorry, unimplemented: called from here drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3093: sorry, unimplemented: called from here drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3144: sorry, unimplemented: called from here drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3257: sorry, unimplemented: called from here drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3288: sorry, unimplemented: called from here drivers/scsi/aic7xxx/aic79xx_osm.c:522: sorry, unimplemented: inlining failed in call to 'ahd_linux_dv_fallback': function body not available drivers/scsi/aic7xxx/aic79xx_osm.c:3317: sorry, unimplemented: called from here It first removes a duplicate forward declaration of ahd_linux_dv_fallback and then moves the function before its first use so inlining can succeed. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 68b4539a4ede..5bbc4ada53de 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -513,9 +513,6 @@ static void ahd_linux_dv_su(struct ahd_softc *ahd,
struct scsi_cmnd *cmd,
struct ahd_devinfo *devinfo,
struct ahd_linux_target *targ);
-static __inline int
- ahd_linux_dv_fallback(struct ahd_softc *ahd,
- struct ahd_devinfo *devinfo);
static int ahd_linux_fallback(struct ahd_softc *ahd,
struct ahd_devinfo *devinfo);
static __inline int ahd_linux_dv_fallback(struct ahd_softc *ahd,
@@ -2915,6 +2912,19 @@ out:
ahd_unlock(ahd, &s);
}
+static __inline int
+ahd_linux_dv_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
+{
+ u_long s;
+ int retval;
+
+ ahd_lock(ahd, &s);
+ retval = ahd_linux_fallback(ahd, devinfo);
+ ahd_unlock(ahd, &s);
+
+ return (retval);
+}
+
static void
ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd,
struct ahd_devinfo *devinfo,
@@ -3551,19 +3561,6 @@ ahd_linux_dv_su(struct ahd_softc *ahd, struct scsi_cmnd *cmd,
cmd->cmnd[4] = le | SSS_START;
}
-static __inline int
-ahd_linux_dv_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
-{
- u_long s;
- int retval;
-
- ahd_lock(ahd, &s);
- retval = ahd_linux_fallback(ahd, devinfo);
- ahd_unlock(ahd, &s);
-
- return (retval);
-}
-
static int
ahd_linux_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
{