GPIO driver pre Soekris net4801 a Linux jadrá 2.6.x

Soekris net4801 je šikovný malý počítač vhodný pre rôzne aplikácie ako sú firewally, routre a.p. Tento stroj obsahuje aj univerzálne vstupy/výstupy, ku ktorým je možné pripojiť externé zariadenia od obyčajných tlačítok a LED-ek cez rôzne displeje až po dátové zbernice.

Pre jadrá 2.4 existuje modul od Martina Hejla. Jadrá 2.6 síce obsahujú GPIO driver, ten však neimplementuje vstupy a výstupy pripojené k čipu PC87366.

Preto som sa pokúsil upraviť tento ovládač pre jadrá 2.6. V podstate išlo o nový Makefile a odstránenie aritmetiky s pohyblivou rádovou čiarkou z kódu.

Použitie: V prvom rade je nutné mať už skonfigurované a skompilované jadro radu 2.6, v ktorom nie sú zapnuté voľby CONFIG_SCx200 (NatSemi SCx200 support) a CONFIG_SCx200_GPIO (NatSemi SCx200 GPIO Support). Zdrojový kód ovládača niekam rozbaľte, v súbore Makefile zmeňte cestu k jadru pre ktoré modul kompilujete (pravdepodobne nekompilujete na stroji, na ktorom bude driver bežať) a spustite make. Výsledný súbor gpio.ko nakopírujte na cieľový počítač do lib/modules/verzia/kernel/misc, spustite depmod -a a modprobe gpio. Pokiaľ je všetko v poriadku, dmesg zobrazí niečo na spôsob

gpio: Soekris net4801 GPIO driver Version 1.3.2+trillian0.1 (C) 2003 Martin Hejl

a v /proc/driver sa objaví niekoľko nových položiek. Návod na ich použitie nájdete v súbore readme.txt v adresári s rozbaleným zdrojovým kódom.

Bratislava, 19. 2. 2005

Stanislav Meduna
stano (AT) meduna.org