Add a new deferrable delayed work init
[linux-2.6] / Documentation / cdrom / cm206
1 This is the readme file for the driver for the Philips/LMS cdrom drive
2 cm206 in combination with the cm260 host adapter card. 
3
4                                 (c) 1995 David A. van Leeuwen
5    
6 Changes since version 0.99
7 --------------------------
8 - Interfacing to the kernel is routed though an extra interface layer, 
9   cdrom.c. This allows runtime-configurable `behavior' of the cdrom-drive, 
10   independent of the driver. 
11
12 Features since version 0.33
13 ---------------------------
14 - Full audio support, that is, both  workman, workbone and cdp work
15   now reasonably. Reading TOC still takes some time. xmcd has been
16   reported to run successfully. 
17 - Made auto-probe code a little better, I hope
18
19 Features since version 0.28
20 ---------------------------
21 - Full speed transfer rate (300 kB/s).
22 - Minimum kernel memory usage for buffering (less than 3 kB).
23 - Multisession support.
24 - Tray locking.
25 - Statistics of driver accessible to the user.
26 - Module support.
27 - Auto-probing of adapter card's base port and irq line,
28   also configurable at boot time or module load time.
29
30
31 Decide how you are going to use the driver. There are two
32 options:
33
34    (a) installing the driver as a resident part of the kernel
35    (b) compiling the driver as a loadable module
36
37    Further, you must decide if you are going to specify the base port
38    address and the interrupt request line of the adapter card cm260 as
39    boot options for (a), module parameters for (b), use automatic
40    probing of these values, or hard-wire your adaptor card's settings
41    into the source code. If you don't care, you can choose 
42    autoprobing, which is the default. In that case you can move on to
43    the next step.
44
45 Compiling the kernel
46 --------------------
47 1) move to /usr/src/linux and do a 
48
49         make config
50
51    If you have chosen option (a), answer yes to CONFIG_CM206 and
52    CONFIG_ISO9660_FS.
53
54    If you have chosen option (b), answer yes to CONFIG_MODVERSIONS
55    and no (!) to CONFIG_CM206 and CONFIG_ISO9660_FS. 
56
57 2) then do a 
58         
59         make clean; make zImage; make modules
60
61 3) do the usual things to install a new image (backup the old one, run
62    `rdev -R zImage 1', copy the new image in place, run lilo).  Might
63    be `make zlilo'.
64
65 Using the driver as a module
66 ----------------------------
67 If you will only occasionally use the cd-rom driver, you can choose
68 option (b), install as a loadable module. You may have to re-compile
69 the module when you upgrade the kernel to a new version. 
70
71 Since version 0.96, much of the functionality has been transferred to
72 a generic cdrom interface in the file cdrom.c. The module cm206.o
73 depends on cdrom.o. If the latter is not compiled into the kernel,
74 you must explicitly load it before cm206.o:
75
76          insmod /usr/src/linux/modules/cdrom.o
77
78 To install the module, you use the command, as root
79
80         insmod /usr/src/linux/modules/cm206.o
81
82 You can specify the base address on the command line as well as the irq 
83 line to be used, e.g.
84
85         insmod /usr/src/linux/modules/cm206.o cm206=0x300,11
86
87 The order of base port and irq line doesn't matter; if you specify only
88 one, the other will have the value of the compiled-in default.  You
89 may also have to install the file-system module `iso9660.o', if you
90 didn't compile that into the kernel. 
91
92
93 Using the driver as part of the kernel
94 --------------------------------------
95 If you have chosen option (a), you can specify the base-port
96 address and irq on the lilo boot command line, e.g.:
97
98         LILO: linux cm206=0x340,11
99
100 This assumes that your linux kernel image keyword is `linux'. 
101 If you specify either IRQ (3--11) or base port (0x300--0x370),
102 auto probing is turned off for both settings, thus setting the 
103 other value to the compiled-in default.
104
105 Note that you can also put these parameters in the lilo configuration file:
106
107 # linux config
108 image = /vmlinuz
109    root = /dev/hda1
110    label = Linux
111    append = "cm206=0x340,11"
112    read-only
113
114
115 If module parameters and LILO config options don't work
116 -------------------------------------------------------
117 If autoprobing does not work, you can hard-wire the default values
118 of the base port address (CM206_BASE) and interrupt request line
119 (CM206_IRQ) into the file /usr/src/linux/drivers/cdrom/cm206.h. Change
120 the defines of CM206_IRQ and CM206_BASE.
121
122
123 Mounting the cdrom
124 ------------------
125 1) Make sure that the right device is installed in /dev.
126
127         mknod /dev/cm206cd b 32 0
128
129 2) Make sure there is a mount point, e.g., /cdrom 
130
131         mkdir /cdrom
132
133 3) mount using a command like this (run as root):
134
135         mount -rt iso9660 /dev/cm206cd /cdrom
136
137 4) For user-mounts, add a line in /etc/fstab
138
139         /dev/cm206cd      /cdrom     iso9660    ro,noauto,user
140
141    This will allow users to give the commands
142
143         mount /cdrom
144         umount /cdrom
145
146 If things don't work
147 --------------------
148
149 - Try to do a `dmesg' to find out if the driver said anything about
150   what is going wrong during the initialization.
151
152 - Try to do a `dd if=/dev/cm206cd | od -tc | less' to read from the
153   CD.
154
155 - Look in the /proc directory to see if `cm206' shows up under one of
156   `interrupts', `ioports', `devices' or `modules' (if applicable).
157
158
159 DISCLAIMER 
160 ---------- 
161 I cannot guarantee that this driver works, or that the hardware will
162 not be harmed, although I consider it most unlikely. 
163
164 I hope that you'll find this driver in some way useful. 
165
166                                         David van Leeuwen
167                                         david@tm.tno.nl
168
169 Note for Linux CDROM vendors
170 -----------------------------
171 You are encouraged to include this driver on your Linux CDROM. If
172 you do, you might consider sending me a free copy of that cd-rom.
173 You can contact me through my e-mail address, david@tm.tno.nl. 
174 If this driver is compiled into a kernel to boot off a cdrom, 
175 you should actually send me a free copy of that cd-rom. 
176
177 Copyright
178 ---------
179 The copyright of the cm206 driver for Linux is 
180
181     (c) 1995 David A. van Leeuwen
182
183 The driver is released under the conditions of the GNU general public
184 license, which can be found in the file COPYING in the root of this
185 source tree.