2008年7月29日 星期二

加入 SD/MMC 支援

昨天送了一個 patch主要為加入 SD/MMC 的支援到這塊開發板上。由於在最近幾個月,git kernel 終於加入了 S3C24xx 系列 SD/MMC 驅動程式的支援,是故我的修正就只是將這塊板子的設定照著填入對應的資料結構內即可。

另外稍微需要做些修改的地方在於,s3cmci.c 中對於 S3C2410 及 S3C2440 的初始化有一點不同,而 Ben Dooks 在 /arch/arm/plat-s3c24xx/devs.c 所定義的 s3c_device_sdi 名稱為 "s3c2410-sdi",這部分要改為使用 "s3c2440-sdi"。此外,在 card detection 上,這塊開發板使用的是 GPIO G10,也要額外設定其 s3c24xx_mci_pdata 結構。

2008年7月11日 星期五

ARM Linux source tree freeze

7月9日,Russell King 在回覆信件時提到,上禮拜六釋出了 2.6.26-rc9,距離 2.6.26 正式版只剩一個禮拜;但這一個禮拜以來,他還是收到了大量的修正(他形容為 mad panic mode),光星期一就收到了 136 份修正,得花掉他整整二天的時間來消化,令他疲於奔命。

因此在 10 日他發了一封聲明,表示他將要凍結目前的源碼樹以進行合併,除了臭蟲修正以外,請大家不要再送新的 patch 給他了;如果要送 patch,下次請早。

2008年7月1日 星期二

發送第一個 patch

大約在上星期的時候,我發送了第一個針對開發板修改的 patch 後,Ben Dooks 隨後不久便回覆我,除了指出我一個未察覺到的錯誤外,還希望我針對一些他不明瞭的部分再多做說明。當我回答後,他似乎覺得沒什麼大問題,便要我針對之前的 review comment 再做修改,並且先將這些修正修補到一份乾淨的核心原始碼樹中做編譯測試,確定沒問題後,再把修改過的 patch 送上來。

經過了幾天,在上星期六,我再發送了第二個版本的 patch,這次就沒什麼問題了,Ben 也會將這份修正加入到他的合併清單之中。

當然對於嫻熟於開放原始碼社群運作模式的人,送 patch 是家常便飯,沒什麼值得大書特書的;不過對於像我這種新手來說卻是一種很奇妙的體驗,藉由送修正、審查修正、再送修正…這樣多次往返的流程,讓程式碼更臻完美,得以一種簡潔的樣貌合併進入主流核心之中。正如 Thomas Gleixner 所言,和核心團隊一同運作,除了增進程式碼的品質,開發者自身的能力也會在這樣互動的過程中逐步提升,這是一個多贏的局面。

我想,我未來應該還會再繼續送 patch 吧。