Seems to me that sparse ignores 'static' forward declarations, leading to false warnings like this: /home/willy/kernel/linux-2.6/drivers/scsi/sym53c8xx_2/sym_hipd.c:3786:5: warning: symbol 'sym_compute_residual' was not declared. Should it be static? $ grep -n sym_compute_residual drivers/scsi/sym53c8xx_2/* drivers/scsi/sym53c8xx_2/sym_hipd.c:61:static int sym_compute_residual(struct sym_hcb *np, struct sym_ccb *cp); drivers/scsi/sym53c8xx_2/sym_hipd.c:3033: cp->sv_resid = sym_compute_residual(np, cp); drivers/scsi/sym53c8xx_2/sym_hipd.c:3786:int sym_compute_residual(struct sym_hcb *np, struct sym_ccb *cp) This is a self-built sparse from commit fa7d792f66cf02b86dd834d06b267ec66ddfe700. The two commits since don't appear relevant. -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html