Skip to contentSkip to conversation

Docs: usb: Example code updates from usb-skeleton

PATCH New Philipp Hortmann 1 participant 4 messages Oct 30, 2021

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover Docs: usb: Example code updates from usb-skeleton

Example code updates from usb-skeleton.c

v2: update patch #1
- changed kernel message to be in one line
- added missing "n\"

Philipp Hortmann (3):
Docs: usb: update err() to pr_err() and replace __FILE__
Docs: usb: update comment and code near increment usage count
Docs: usb: update writesize, copy_from_user, usb_fill_bulk_urb,
usb_submit_urb

 .../driver-api/usb/writing_usb_driver.rst     | 32 ++++++++++---------
 1 file changed, 17 insertions(+), 15 deletions(-)
Signature · 1 line
2.25.1
#1 lore raw

PATCH v2 1/3 Docs: usb: update err() to pr_err() and replace __FILE__

update err() to pr_err() and replace __FILE__

---
V1 -> V2: changed kernel message to be in one line
added missing "n\"

---
 Documentation/driver-api/usb/writing_usb_driver.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/driver-api/usb/writing_usb_driver.rst +2 -2
index 2176297e5765..85e106f443e5 100644
@@ -91,8 +91,8 @@ usually in the driver's init function, as shown here::
 	    /* register this driver with the USB subsystem */
 	    result = usb_register(&skel_driver);
 	    if (result < 0) {
-		    err("usb_register failed for the "__FILE__ "driver."
-			"Error number %d", result);
+		    pr_err("usb_register failed for the %s driver. Error number %d\n",
+		           skel_driver.name, result);
 		    return -1;
 	    }
 
Signature · 1 line
2.25.1
#2 lore raw

PATCH v2 2/3 Docs: usb: update comment and code near increment usage count

In reply to Philipp Hortmann

update comment: increment our usage count ..
and code according to usb-skeleton.c

---
 Documentation/driver-api/usb/writing_usb_driver.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/driver-api/usb/writing_usb_driver.rst +2 -2
index 85e106f443e5..24374cdb677b 100644
@@ -167,8 +167,8 @@ structure. This is done so that future calls to file operations will
 enable the driver to determine which device the user is addressing. All
 of this is done with the following code::
 
-    /* increment our usage count for the module */
-    ++skel->open_count;
+    /* increment our usage count for the device */
+    kref_get(&dev->kref);
 
     /* save our object in the file's private structure */
     file->private_data = dev;
Signature · 1 line
2.25.1
#3 lore raw

PATCH v2 3/3 Docs: usb: update writesize, copy_from_user, usb_fill_bulk_urb, usb_submit_urb

In reply to Philipp Hortmann

update code examples writesize, copy_from_user, usb_fill_bulk_urb, usb_submit_urb in skel_write() according to usb-skeleton.c

---
 .../driver-api/usb/writing_usb_driver.rst     | 24 ++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)
Documentation/driver-api/usb/writing_usb_driver.rst +13 -11
index 24374cdb677b..9cdd9f923974 100644
@@ -185,24 +185,26 @@ space, points the urb to the data and submits the urb to the USB
 subsystem. This can be seen in the following code::
 
     /* we can only write as much as 1 urb will hold */
-    bytes_written = (count > skel->bulk_out_size) ? skel->bulk_out_size : count;
+    size_t writesize = min_t(size_t, count, MAX_TRANSFER);
 
     /* copy the data from user space into our urb */
-    copy_from_user(skel->write_urb->transfer_buffer, buffer, bytes_written);
+    copy_from_user(buf, user_buffer, writesize);
 
     /* set up our urb */
-    usb_fill_bulk_urb(skel->write_urb,
-		      skel->dev,
-		      usb_sndbulkpipe(skel->dev, skel->bulk_out_endpointAddr),
-		      skel->write_urb->transfer_buffer,
-		      bytes_written,
+    usb_fill_bulk_urb(urb,
+		      dev->udev,
+		      usb_sndbulkpipe(dev->udev, dev->bulk_out_endpointAddr),
+		      buf,
+		      writesize,
 		      skel_write_bulk_callback,
-		      skel);
+		      dev);
 
     /* send the data out the bulk port */
-    result = usb_submit_urb(skel->write_urb);
-    if (result) {
-	    err("Failed submitting write urb, error %d", result);
+    retval = usb_submit_urb(urb, GFP_KERNEL);
+    if (retval) {
+	    dev_err(&dev->interface->dev,
+                "%s - failed submitting write urb, error %d\n",
+                __func__, retval);
     }
 
 
Signature · 1 line
2.25.1