diff options
Diffstat (limited to 'Documentation/DocBook/writing_usb_driver.tmpl')
-rw-r--r-- | Documentation/DocBook/writing_usb_driver.tmpl | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Documentation/DocBook/writing_usb_driver.tmpl b/Documentation/DocBook/writing_usb_driver.tmpl index d4188d4ff535..eeff19ca831b 100644 --- a/Documentation/DocBook/writing_usb_driver.tmpl +++ b/Documentation/DocBook/writing_usb_driver.tmpl | |||
@@ -100,8 +100,8 @@ | |||
100 | useful documents, at the USB home page (see Resources). An excellent | 100 | useful documents, at the USB home page (see Resources). An excellent |
101 | introduction to the Linux USB subsystem can be found at the USB Working | 101 | introduction to the Linux USB subsystem can be found at the USB Working |
102 | Devices List (see Resources). It explains how the Linux USB subsystem is | 102 | Devices List (see Resources). It explains how the Linux USB subsystem is |
103 | structured and introduces the reader to the concept of USB urbs, which | 103 | structured and introduces the reader to the concept of USB urbs |
104 | are essential to USB drivers. | 104 | (USB Request Blocks), which are essential to USB drivers. |
105 | </para> | 105 | </para> |
106 | <para> | 106 | <para> |
107 | The first thing a Linux USB driver needs to do is register itself with | 107 | The first thing a Linux USB driver needs to do is register itself with |
@@ -162,8 +162,8 @@ static int __init usb_skel_init(void) | |||
162 | module_init(usb_skel_init); | 162 | module_init(usb_skel_init); |
163 | </programlisting> | 163 | </programlisting> |
164 | <para> | 164 | <para> |
165 | When the driver is unloaded from the system, it needs to unregister | 165 | When the driver is unloaded from the system, it needs to deregister |
166 | itself with the USB subsystem. This is done with the usb_unregister | 166 | itself with the USB subsystem. This is done with the usb_deregister |
167 | function: | 167 | function: |
168 | </para> | 168 | </para> |
169 | <programlisting> | 169 | <programlisting> |
@@ -232,7 +232,7 @@ static int skel_probe(struct usb_interface *interface, | |||
232 | were passed to the USB subsystem will be called from a user program trying | 232 | were passed to the USB subsystem will be called from a user program trying |
233 | to talk to the device. The first function called will be open, as the | 233 | to talk to the device. The first function called will be open, as the |
234 | program tries to open the device for I/O. We increment our private usage | 234 | program tries to open the device for I/O. We increment our private usage |
235 | count and save off a pointer to our internal structure in the file | 235 | count and save a pointer to our internal structure in the file |
236 | structure. This is done so that future calls to file operations will | 236 | structure. This is done so that future calls to file operations will |
237 | enable the driver to determine which device the user is addressing. All | 237 | enable the driver to determine which device the user is addressing. All |
238 | of this is done with the following code: | 238 | of this is done with the following code: |
@@ -252,8 +252,8 @@ file->private_data = dev; | |||
252 | send to the device based on the size of the write urb it has created (this | 252 | send to the device based on the size of the write urb it has created (this |
253 | size depends on the size of the bulk out end point that the device has). | 253 | size depends on the size of the bulk out end point that the device has). |
254 | Then it copies the data from user space to kernel space, points the urb to | 254 | Then it copies the data from user space to kernel space, points the urb to |
255 | the data and submits the urb to the USB subsystem. This can be shown in | 255 | the data and submits the urb to the USB subsystem. This can be seen in |
256 | he following code: | 256 | the following code: |
257 | </para> | 257 | </para> |
258 | <programlisting> | 258 | <programlisting> |
259 | /* we can only write as much as 1 urb will hold */ | 259 | /* we can only write as much as 1 urb will hold */ |