"nem értem: LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) miért 31, miért nem 37?"
Azért, mert a kernel modult nem én írtam, aki írta az nem adott még ki frissítést a 2.6.37-es kernelhez, én meg csak azért hogy lefordítsam, nem akartam saját #if-et írni, mert minek. De csak neked:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)
src = kmap_atomic_prot(s, prot);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
src = kmap_atomic_prot(s, KM_USER0, prot);
#else
src = kmap_atomic(s, KM_USER0);
#endif
Őszintén szólva fogalmam sincs, hogy miért kellett a prot (azt se tudom mire jó), de én feltételezem, hogy jó oka volt rá. A teljes függvény: http://pastebin.com/j5Ysf5Ve
Egyébként arra példa, hogy a kernel fejlesztők szeretik időnként megváltoztatni pl. az api függvények paraméterezését, ami nem tesz jót azoknak a kódoknak, amik nincsenek a kernelben.
--
Don't be an Ubuntard!