fedora 15 kernel 2.6.41

fedora 15 的核心超過 3.0 以後的都自行改版本號成 2.6.4x,因為核心進 3.0 以後造成很多模組沒考慮到核心會變 3 開頭,所以檢查版本的巨集出問題,由於 fedora 首當其衝的在採納最新版本的核心,為了避開這個問題就重新命名了版本號。

所以如果有核心模組已經按照新版本來作判斷,這樣 2.6.41 就吃屎了..=_=

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)
#define ...
#endif

// 2.6.41 failed...

所以呢?改這樣其實也很蠢…但是在 2.6.41 就能編過了,而且但是遇到 3.0 的核心就出問題了..

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,41) 
#define ...
#endif

假設是只有 3.1(2.6.41) 要成立,所以比較完整的考量寫法應該是要

LINUX_VERSION_CODE == 2.6.41 or LINUX_VERSION_CODE >= 3.1.0

但其實不應該要能夠考慮到這種情況,因為是 fedora 破壞規則造成的混亂,雖然是不得已的..