Docs: usb: Example code updates from usb-skeleton
Subsystems (2)
cover Docs: usb: Example code updates from usb-skeleton
Example code updates from usb-skeleton.c
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
PATCH 1/3 Docs: usb: update err() to pr_err() and replace __FILE__
update err() to pr_err() and replace __FILE__
--- 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
@@ -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", skel_driver.name, result); return -1; }
Signature · 1 line
2.25.1
Re: [PATCH 1/3] Docs: usb: update err() to pr_err() and replace __FILE__
Quoted 12 lines · Philipp Hortmann
update
err()topr_err()and replace__FILE__Signed-off-by Philipp Hortmann <[email protected]>--- Documentation/driver-api/usb/writing_usb_driver.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Documentation/driver-api/usb/writing_usb_driver.rst +0
-0
Documentation/driver-api/usb/writing_usb_driver.rst usually in the driver's init function, as shown here:: · line 94
Quoted 6 lines
Documentation/driver-api/usb/writing_usb_driver.rst +1
-2@@ -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. "
Don't break up the kernel message like this. The current code is a bad example --
high time to fix it. :-)
Documentation/driver-api/usb/writing_usb_driver.rst usually in the driver's init function, as shown here:: · line 98
Quoted 4 lines
Documentation/driver-api/usb/writing_usb_driver.rst +1
-0+ "Error number %d", skel_driver.name, result); return -1; }
MBR, Sergey
Re: [PATCH 1/3] Docs: usb: update err() to pr_err() and replace __FILE__
On 29.10.2021 23:33, Sergey Shtylyov wrote:
[...]
Quoted 22 lines
Quoted 12 lines
update
err()topr_err()and replace__FILE__Signed-off-by Philipp Hortmann <[email protected]>--- Documentation/driver-api/usb/writing_usb_driver.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Documentation/driver-api/usb/writing_usb_driver.rst +0
-0Documentation/driver-api/usb/writing_usb_driver.rst usually in the driver's init function, as shown here:: · line 94
Quoted 6 lines
Documentation/driver-api/usb/writing_usb_driver.rst +1
-2@@ -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. "Don't break up the kernel message like this. The current code is a bad example --
high time to fix it. :-)
Quoted 1 line
Documentation/driver-api/usb/writing_usb_driver.rst usually in the driver's init function, as shown here:: · line 95
Quoted 1 line
Documentation/driver-api/usb/writing_usb_driver.rst +1
-0+ "Error number %d", skel_driver.name, result);
Oh, and add `\n' at the end of message.
[...]
MBR, Sergey
PATCH 2/3 Docs: usb: update comment and code near increment usage count
In reply to Philipp Hortmannupdate 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
@@ -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
PATCH 3/3 Docs: usb: update writesize, copy_from_user, usb_fill_bulk_urb, usb_submit_urb
In reply to Philipp Hortmannupdate 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
@@ -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