Commit 6c9ddeb1 authored by Jesper Juhl's avatar Jesper Juhl Committed by Linus Torvalds

[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: default avatarJesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent e445e680
...@@ -513,9 +513,6 @@ static void ahd_linux_dv_su(struct ahd_softc *ahd, ...@@ -513,9 +513,6 @@ static void ahd_linux_dv_su(struct ahd_softc *ahd,
struct scsi_cmnd *cmd, struct scsi_cmnd *cmd,
struct ahd_devinfo *devinfo, struct ahd_devinfo *devinfo,
struct ahd_linux_target *targ); 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, static int ahd_linux_fallback(struct ahd_softc *ahd,
struct ahd_devinfo *devinfo); struct ahd_devinfo *devinfo);
static __inline int ahd_linux_dv_fallback(struct ahd_softc *ahd, static __inline int ahd_linux_dv_fallback(struct ahd_softc *ahd,
...@@ -2915,6 +2912,19 @@ ahd_linux_dv_target(struct ahd_softc *ahd, u_int target_offset) ...@@ -2915,6 +2912,19 @@ ahd_linux_dv_target(struct ahd_softc *ahd, u_int target_offset)
ahd_unlock(ahd, &s); 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 static void
ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd, ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd,
struct ahd_devinfo *devinfo, struct ahd_devinfo *devinfo,
...@@ -3551,19 +3561,6 @@ ahd_linux_dv_su(struct ahd_softc *ahd, struct scsi_cmnd *cmd, ...@@ -3551,19 +3561,6 @@ ahd_linux_dv_su(struct ahd_softc *ahd, struct scsi_cmnd *cmd,
cmd->cmnd[4] = le | SSS_START; 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 static int
ahd_linux_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo) ahd_linux_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment