File: integratingdriver.html

package info (click to toggle)
comedilib 0.11.0%2B5-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 8,540 kB
  • sloc: xml: 19,779; ansic: 14,719; sh: 5,672; cpp: 2,211; ruby: 1,658; perl: 700; makefile: 594; yacc: 439; lex: 86; python: 17
file content (55 lines) | stat: -rw-r--r-- 4,805 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>6.6.  Integrating the driver in the Comedi library</title><link rel="stylesheet" type="text/css" href="comedilib.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="Comedi"><link rel="up" href="driverwriting.html" title="6.  Writing a Comedi driver"><link rel="prev" href="drivercaveats.html" title="6.5.  Device driver caveats"><link rel="next" href="comedilib-glossary.html" title="Glossary"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.6. 
Integrating the driver in the <acronym class="acronym">Comedi</acronym> library
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="drivercaveats.html">Prev</a> </td><th width="60%" align="center">6. 
Writing a <acronym class="acronym">Comedi</acronym> driver
</th><td width="20%" align="right"> <a accesskey="n" href="comedilib-glossary.html">Next</a></td></tr></table><hr></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="integratingdriver"></a>6.6. 
Integrating the driver in the <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a> library
</h3></div></div></div><p>
For integrating new drivers in the <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a>'s source tree the following
things have to be done:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
Choose a sensible name for the source code file. Let's assume here
that you call it <span class="quote">“<span class="quote">mydriver.c</span>”</span>
</p></li><li class="listitem"><p>
Put your new driver into <code class="filename">comedi/drivers/mydriver.c</code>.
</p></li><li class="listitem"><p>
Edit <code class="filename">comedi/drivers/Makefile.am</code> and add <code class="literal">mydriver.ko</code>
to the <code class="literal">module_PROGRAMS</code> list.  Also add a line
</p><pre class="programlisting">
mydriver_ko_SOURCES = mydriver.c
</pre><p>
in the alphabetically appropriate place.
</p></li><li class="listitem"><p>
Edit <code class="filename">comedi/drivers/Kbuild</code> and a line according to
the type of driver:
</p><pre class="programlisting">
obj-$(COMEDI_CONFIG_PCI_MODULES) += mydriver.o  # for a PCI driver
</pre><p>
</p><pre class="programlisting">
obj-$(COMEDI_CONFIG_PCMCIA_MODULES) += mydriver.o  # for a PCMCIA driver
</pre><p>
</p><pre class="programlisting">
obj-$(COMEDI_CONFIG_USB_MODULES) += mydriver.o  # for a USB driver
</pre><p>
</p><pre class="programlisting">
obj-m += mydriver.o  # for other driver types
</pre><p>
</p></li><li class="listitem"><p>
Run <span class="command"><strong>./autogen.sh</strong></span> in the top-level comedi directory.  You will
need to have (a recent version of) autoconf and automake
installed to successfully run <span class="command"><strong>autogen.sh</strong></span>.  Afterwards, your driver will
be built along with the rest of the drivers when you run <span class="command"><strong>make</strong></span>.
</p></li><li class="listitem"><p>
If you want to have your driver included in the <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a> distribution
(you <span class="emphasis"><em>definitely</em></span> want to :-) ) send it to
the <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a> mailing list
for review and integration.  See the top-level <code class="filename">README</code>
for details of the <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a> mailing list.)
Note your work must be licensed under terms
compatible with the GNU GPL to be distributed as a part of <a class="ulink" href="http://www.comedi.org" target="_top"><acronym class="acronym">Comedi</acronym></a>.
</p></li></ul></div><p>
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="drivercaveats.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="driverwriting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="comedilib-glossary.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.5. 
Device driver caveats
 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 
    Glossary
  </td></tr></table></div></body></html>