Vine Linux 5用 FLIドライバ・ライブラリソフトウェア

(2010/11/11)

学部観測実習で,Vine 5.0 (linux kernel 2.6.27) でFLI CCDを 動かそうとしたところ、コンパイルで色々とエラーが…
修正して動かすようにした時のメモ。
なお、修正版ソフトは fli-dist-1.71-kernel2_6_27vine.tgzです。

●デバイスドライバ (fliusb)

  • include ファイル場所が変わった
  • SLAB_KERNEL マクロ変数がなくなって,gfp.h の GFP_KERNEL を使う
  • scatterlist 構造体から page というメンバーがなくなって,代わりにpage_linkメンバーを使う
  • MakefileでCFLAGSを使わず,EXTRA_CLAGSを使えといわれた。
diff fliusb.c fliusb.c.org
54,56c54
< #include 
<
< #include 
---
> #include 
61c59
< #include 
---
> #include 
324c322
<   dev->usbsg.slist[0].page_link = (unsigned long) dev->usbsg.userpg[0];
---
>   dev->usbsg.slist[0].page = dev->usbsg.userpg[0];
332c330
<       dev->usbsg.slist[i].page_link = (unsigned long) dev->usbsg.userpg[i];
---
>       dev->usbsg.slist[i].page = dev->usbsg.userpg[i];
337c335
<     dev->usbsg.slist[i].page_link = (unsigned long) dev->usbsg.userpg[i];
---
>     dev->usbsg.slist[i].page = dev->usbsg.userpg[i];
345c343
<                        dev->usbsg.slist, numpg, 0, GFP_KERNEL)))
---
>                        dev->usbsg.slist, numpg, 0, SLAB_KERNEL)))

diff Makefile Makefile.org
6c6
< EXTRA_CFLAGS          += -O2 -Wall
---
> CFLAGS                += -O2 -Wall
10,12c10
< EXTRA_CFLAGS          += -DSGREAD     # enable scatter-gather reads
<
< INSTDIR         :=/usr/local
---
> CFLAGS                += -DSGREAD     # enable scatter-gather reads
24,29d21
<
< install:
<       @if [ ! -d $(UNAME) ]; then \
<               echo ";; mkdir $(UNAME)"; mkdir $(INSTDIR)/lib/fli/; \
<       fi
<       cp *.ko $(INSTDIR)/lib/fli/


●ライブラリ (libfli)
  • debug関数で,__FUNCTION__マクロ変数の引きかたが変わった?
  • kernelライブラリでlinux/usb_ch9.h ヘッダファイルが linux/usb/ch9.h に変更された
diff unix/linux/libfli-usb-sys.c{,.org}
51,52d50
< #elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
< #include 
diff libfli.c libfli.c.org
243c243
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
249c249
<       debug(FLIDEBUG_INFO, "Exiting ", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
529c529
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
535c535
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1221c1221
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1227c1227
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1273c1273
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1279c1279
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1307c1307
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1313c1313
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting  " __FUNCTION__);
1341c1341
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1347c1347
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1368c1368
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1374c1374
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1396c1396
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1402c1402
<       debug(FLIDEBUG_INFO, "Exiting %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);
1426c1426
<       debug(FLIDEBUG_INFO, "Entering %s", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Entering " __FUNCTION__);
1432c1432
<       debug(FLIDEBUG_INFO, "Exiting ", __FUNCTION__);
---
>       debug(FLIDEBUG_INFO, "Exiting " __FUNCTION__);