( BaT | 2011. 05. 31., k – 21:56 )

"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!