2013-03-21 17 views

cevap

17

fark zamanlama ya da yürütme daha kesin olarak, düzen ile de ilgilidir. Yani, subsys_initcall olarak beyan edilen prosedürün, module_init olarak beyan edilen prosedürden önce yürütülmesi garanti edilir. Bu sıralama, aygıt sürücülerinin aygıtın işlevini kullanmadan önce alt sistem ve platform sürücülerinin başlatılmasını sağlar (örneğin, bir aygıt sürücüsü bir alt sistem aygıtı olarak kaydeder). Çekirdek (yüklenebilir) modüller ya da değil yapılandırılmışsa

her biri için gerçek makro tanımı bağlıdır. Bu makrolar (ve diğer init makroları) tanımı include/linux/init.h

'da bulunabilir. subsys_initcall() sadece yerleşik (statik bağlantılı) bir modül tarafından kullanılabilir.
module_init ya yerleşik veya yüklenebilir modüller tarafından kullanılabilir.

+0

Çok açık .. teşekkürler .. yüklenebilen '* .ko' modüllerinde – kzs

+2

,' subsys_initcall() 'module_init' aynı eşleştirilmiş() 'yani' device_initcall() 'Referans: http : //lxr.free-electrons.com/source/include/linux/init.h#L298 – TheCodeArtist

İlgili konular