fi
if [ $MULTIORSINGLE = m ]; then
- VFSGLUE="yaffs_vfs_multi.c"
+ VFS_CODE="yaffs_vfs_multi.c"
+ MTD_CODE="yaffs_mtdif_multi.c"
+ YPORTENV="yportenv_multi.h"
+ KCONFIG_SRC="Kconfig_multi"
elif [ $MULTIORSINGLE = s ]; then
- VFSGLUE="yaffs_vfs.c"
+ VFS_CODE="yaffs_vfs_single.c"
+ MTD_CODE="yaffs_mtdif_single.c"
+ YPORTENV="yportenv_single.h"
+ KCONFIG_SRC="Kconfig_single"
+
+ echo ""
+ echo "*** Warning ***"
+ echo "You have chosen to use the single kernel variant of the yaffs VFS glue code"
+ echo "that only works with the latest Linux kernel tree. If you are using an older"
+ echo "version of Linux then you probably wanted to use the multi-version variant by"
+ echo "re-running the patch-ker.sh script using m as a the second argument."
+ echo " ie $0 $COPYORLINK m $LINUXDIR"
+ echo ""
else
echo "unknown multi/single version selection"
usage;
SUBLEVEL=`grep -s SUBLEVEL <$LINUXDIR/Makefile | head -n 1 | sed s/'SUBLEVEL = '//`
# Can we handle this version?
-if [ $VERSION -ne 2 -o $PATCHLEVEL -lt 6 ]
+if [ $VERSION$PATCHLEVEL -lt 26 ]
then
echo "Cannot patch kernel version $VERSION.$PATCHLEVEL.$SUBLEVEL, must be 2.6.x or higher"
exit 1;
echo "Updating $KCONFIG"
mv -f $KCONFIG $KCONFIGOLD
sed -n -e "/[Jj][Ff][Ff][Ss]/,99999 ! p" $KCONFIGOLD >$KCONFIG
- echo "">>$KCONFIG
- echo "# Patched by YAFFS" >>$KCONFIG
+ # echo "">>$KCONFIG
+ # echo "# Patched by YAFFS" >>$KCONFIG
echo "source \"fs/yaffs2/Kconfig\"">>$KCONFIG
- echo "">>$KCONFIG
+ # echo "">>$KCONFIG
sed -n -e "/[Jj][Ff][Ff][Ss]/,99999 p" $KCONFIGOLD >>$KCONFIG
# now do fs/Makefile -- simply add the target at the end
echo "Updating $MAKEFILE"
cp -f $MAKEFILE $MAKEFILEOLD
- echo "">>$MAKEFILE
- echo "# Patched by YAFFS" >>$MAKEFILE
+ # echo "">>$MAKEFILE
+ # echo "# Patched by YAFFS" >>$MAKEFILE
echo "obj-\$(CONFIG_YAFFS_FS) += yaffs2/" >>$MAKEFILE
fi
if [ -e $YAFFSDIR ]
then
- echo "$YAFFSDIR exists, not patching."
- echo "If you want to replace what is already there then delete $YAFFSDIR"
+ echo "$YAFFSDIR exists, so not patching. If you want to replace what is"
+ echo "already there then delete $YAFFSDIR and re-run this script"
echo " eg. \"rm -rf $YAFFSDIR\" "
else
+ rm yaffs*.mod.c 2> /dev/null
mkdir $LINUXDIR/fs/yaffs2
$CPY $PWD/Makefile.kernel $LINUXDIR/fs/yaffs2/Makefile
- $CPY $PWD/Kconfig $LINUXDIR/fs/yaffs2
+ $CPY $PWD/$KCONFIG_SRC $LINUXDIR/fs/yaffs2/Kconfig
$CPY $PWD/*.c $PWD/*.h $LINUXDIR/fs/yaffs2
- rm $LINUXDIR/fs/yaffs2/yaffs_vfs.c $LINUXDIR/fs/yaffs2/yaffs_vfs_multi.c
- $CPY $PWD/$VFSGLUE $LINUXDIR/fs/yaffs2/yaffs_vfs_glue.c
+ rm $LINUXDIR/fs/yaffs2/yaffs_vfs*.c $LINUXDIR/fs/yaffs2/yaffs_mtdif*.c
+ rm $LINUXDIR/fs/yaffs2/yportenv*.h
+ rm $LINUXDIR/fs/yaffs2/moduleconfig.h
+ $CPY $PWD/$VFS_CODE $LINUXDIR/fs/yaffs2/yaffs_vfs.c
+ $CPY $PWD/$MTD_CODE $LINUXDIR/fs/yaffs2/yaffs_mtdif.c
+ $CPY $PWD/$YPORTENV $LINUXDIR/fs/yaffs2/yportenv.h
fi