rq_data_dir() in linux/blkdev.h is redundant
Hi,
When compiling linuxppc_2_4_devel (2.4.21-pre3) with the latest MTD/JFFS2 code, I had such error posted in a previous message.
ppc_8xx-gcc -D__KERNEL__ -I/u/xjin/2_4_devel/Software/Linux/MPC855/linuxppc_2_4_ devel/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I/u/xjin/2_4_devel/Software/Linux/MPC855/linux ppc_2_4_devel/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitia
lized -mmultiple -mstring -nostdinc -I /opt/eldk2.0/usr/lib/gcc-lib/ppc-linux/
2.95.4/include -DKBUILD_BASENAME=mtdblock_core -c -o mtdblock-core.o mtdblock-c ore.c
In file included from /u/xjin/2_4_devel/Software/Linux/MPC855/linuxppc_2_4_devel /include/linux/blk.h:4,
from mtdblock-core.c:18:
/u/xjin/2_4_devel/Software/Linux/MPC855/linuxppc_2_4_devel/include/linux/blkdev. h:147: parse error before `struct'
After traced down the problem, I found that it was caused by the definition of rq_data_dir() in linux/blkdev.h. The definition is as follows, which seems to be useless.
extern inline int rq_data_dir(struct request *rq)
{
if (rq->cmd == READ)
return READ;
else if (rq->cmd == WRITE)
return WRITE;
else {
BUG();
return -1;
}
}Actually linux/mtd/compacmatmac.h defines rq_data_dir() as
#define rq_data_dir(x) ((x)->cmd)
if the kernel version is older than 2.5.0.
Signature · 2 lines
Shawn Jin RedSwitch Inc.