Hi, all

I'm using kernel 2.6.22 and found an error when compiling it with yaffs2:

fs/built-in.o: In function `yaffs_BackgroundThread':
yaffs_mtdif2.c:(.text+0xab8cc): undefined reference to `set_freezable'
make: *** [.tmp_vmlinux1] Error 1

I researched the issue and found the commit of the error: http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=commitdiff;h=c565b5da13774bc9d5f661d93a127ba86a8769e7

The fact that the function 'set_freezable' missing in the 2.6.22 kernel API. 2.6.22 kernel was released at 1 Sep 2007. The function 'set_freezable' was added to Torvalds' branch in commit http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=831441862956fffa17b9801db37e6ea1650b0f69 (17 Jul 2007).
It seems this change is not included in the kernel 2.6.22(2.6.23 and high).
And so this bug affects all earlier kernels.

Moreover, I found reports of similar error: http://www.yaffs.net/lurker/message/20100815.213438.93e67729.ca.html