Gregory Nutt
936df1bcb5
Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
...
Squashed commit of the following:
Change all calls to usleep() in the OS proper to calls to nxsig_usleep()
sched/signal: Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.
sched/signal: Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
9568600ab1
Squashed commit of the following:
...
This commit backs out most of commit b4747286b1
. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.
In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.
In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.
sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615
Squashed commit of the following:
...
sched/semaphore: Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable. Changed all references to sem_post in the OS to nxsem_post().
sched/semaphore: Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable. Changed all references to sem_destroy() in the OS to nxsem_destroy().
libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable. Changed all references to sem_setprotocol in the OS to nxsem_setprotocol(). sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552
Squashed commit of the following:
...
libc/semaphore: Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable. Changed all references to sem_getvalue in the OS to nxsem_getvalue().
sched/semaphore: Rename all internal private functions from sem_xyz to nxsem_xyz. The sem_ prefix is (will be) reserved only for the application semaphore interfaces.
libc/semaphore: Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable. Changed all references to sem_init in the OS to nxsem_init().
sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.
sched/semaphoate: Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Oleg Evseev
31bde601b6
Kconfig correction
...
edited online with Bitbucket
2017-06-16 14:43:11 +00:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Gregory Nutt
175f8960cf
Cosmetic changes from review of last PR
2017-03-18 06:47:34 -06:00
Brian Webb
0a95536b85
Adds driver support for the XBox One controller. Currently only the latest version (XBox One X) controller works. The older XBox One controllers do not enumerate correctly.
2017-03-17 20:48:21 -07:00
Janne Rosberg
ce2845c5c3
usbhost_cdcacm: fix tx outbuffer overflow and remove now invalid assert
2017-03-07 06:59:00 -06:00
Janne Rosberg
8442bf66b9
usbhost_cdcacm: add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to supported class and proto
2016-11-30 12:20:23 -06:00
Janne Rosberg
4b282f219a
usbhost_composite: fix end offset in usbhost_copyinterface()
2016-11-30 12:18:23 -06:00
Gregory Nutt
b0dffdc2ca
Fix a number of header files with mismatched 'extern C {' and '}'
2016-11-05 07:25:05 -06:00
Gregory Nutt
4fcbe8e410
drivers: Disable priority inheritance on all semaphores used for signaling
2016-11-03 11:00:47 -06:00
Janne Rosberg
847d2b4218
usbhost/composite: fix compile; missing semicolons
2016-10-18 11:52:23 -06:00
Janne Rosberg
72f13db4bf
usbhost/enumerate: fix possible buffer overwrite
2016-10-18 08:15:19 -06:00
Gregory Nutt
7f6a403b96
USB host composite is at least partially functional. No longer depends on CONFIG_EXPERIMENTAL
2016-09-02 07:26:29 -06:00
Gregory Nutt
e958c32e4d
USB host composite: Using wrong interface number from interface descriptor.
2016-08-31 13:29:38 -06:00
Gregory Nutt
ebe829c4b9
USB host composite: A test should be <= not just <
2016-08-31 13:24:38 -06:00
Gregory Nutt
7ea9632592
Change the way that contactless IOCTL commands are defined. All IOCTL commands must be unique.
2016-08-31 11:30:22 -06:00
Gregory Nutt
7b75a32ca1
Improve some comments
2016-08-31 08:16:12 -06:00
Gregory Nutt
cb7c1c1f14
USB host composite: Add an option to permit support only a subset of the composite intefaces.
2016-08-31 07:56:27 -06:00
Gregory Nutt
aa0d1868f5
USB host composite: Fix places where the wrong pointer was used; Add a test for an error condition.
2016-08-30 13:58:01 -06:00
Gregory Nutt
ac623abc7d
USB host composite: Reosolves last remaining REVISIT design issues. Compiles clean with no errors and warning and is fully ready for testing.
2016-08-30 10:52:41 -06:00
Gregory Nutt
ee83e49f75
Update a comment
2016-08-29 15:43:11 -06:00
Gregory Nutt
1ce4db8008
USB host composite: Save some information that will be needed to create a class-specific configuration.
2016-08-29 15:02:15 -06:00
Gregory Nutt
f4f807100b
Update comment
2016-08-29 14:55:03 -06:00
Alpo Leinonen
7d5173ca09
USB host composite: Several syntactic errors fixed
2016-08-29 07:53:57 -06:00
Gregory Nutt
43abb7cb3a
Mark USB host compsite feature EXPERMENTAL; update ChangeLog
2016-08-28 14:51:55 -06:00
Gregory Nutt
31c364457a
CLASS_CONNECT needs to be called for each member of the composite.
2016-08-28 08:48:40 -06:00
Gregory Nutt
58b45d64d7
Fix composite connect method.
2016-08-28 08:33:38 -06:00
Gregory Nutt
5d4428be93
Add check of class ID in device scriptor header
2016-08-27 10:53:43 -06:00
Gregory Nutt
c973e0d3ba
Add the logic necessary to abstract the register lookup information for each candiate class
2016-08-27 10:31:18 -06:00
Gregory Nutt
2460d41ae0
Add more logic to the USB host composite wrapper.
2016-08-26 17:03:16 -06:00
Gregory Nutt
0860621e60
Fill one more case of 'Missing logic' in the USB host composite wrapper.
2016-08-26 12:34:58 -06:00
Gregory Nutt
3c0b287fe9
Fill in a little of the 'Missing logic' in the USB host composite wrapper.
2016-08-26 12:24:35 -06:00
Gregory Nutt
ea8ce7acb6
Trivial rename
2016-08-26 11:05:50 -06:00
Gregory Nutt
a228b0cc36
Add a little more meat to the still very USB host composite skeleton. Not quite so boney now.
2016-08-26 10:33:41 -06:00
Gregory Nutt
fa4e9e3c1c
Add a little more meat to the still very bony USB host composite skeleton.
2016-08-26 10:13:35 -06:00
Gregory Nutt
579e338cd3
Add a little more meat to the USB host composite skeleton. Still pretty bony.
2016-08-26 09:47:38 -06:00
Gregory Nutt
8a1d6c9ed8
Basic framework that might be used to add USB host support
2016-08-26 09:07:52 -06:00
Gregory Nutt
a897fd4ccf
Eliminate use of apps/system/usbmonitor. Use drivers/usbmonitor instead.
2016-06-30 13:09:22 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
efb02f2ef1
drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors.
2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
b6f5ffa9a8
CDC/AC: too man right parentheses if IFLOW_CONTROL enabled
2016-02-24 11:54:02 -06:00
Gregory Nutt
2244ed46bc
nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 07:32:58 -06:00
xuhang
26d40fa80c
drivers/usbhost/hid_parser.c: Wrong size used in memcpy()
2016-01-25 20:00:11 -06:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
16b32bbadd
Standardize the width of all comment boxes in C files
2015-10-03 07:25:53 -06:00
Gregory Nutt
e0fdd46292
USB host file uses DEBUGASSERT and so must include assert.h. Note by Brennan Ashton
2015-07-31 07:24:43 -06:00
Gregory Nutt
bb30fa039f
Fix a warning detected by tools/tesbuild.sh. function was not returning the correct value in the case of errors
2015-07-22 15:46:43 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
9e1c72e3e2
Add basic board build configurat for the SAML21 Xplained. Initial commit is jsut the SAMD20 Xplained with name changes and does not yet build
2015-05-18 13:16:32 -06:00
Gregory Nutt
2b3241d81f
Clean up some logic in the CDC/ACM host drivers. Test with some other host controller drivers. There are lots of problems.
2015-05-14 10:22:08 -06:00
Gregory Nutt
9df6bd0543
USB host CDC/ACM driver requires CONFIG_SERIAL_REMOVABLE
2015-05-11 15:10:41 -06:00
Gregory Nutt
2f8d7f3a03
CDC/ACM host: Cancelling activity on bulk endpoint fixes a crash when device removed
2015-05-11 12:47:37 -06:00
Gregory Nutt
c7a02488c6
Fix a cut'n'paste error in the last commit
2015-05-10 10:23:23 -06:00
Gregory Nutt
46e5d0a419
Add options to support all three host CDC/ACM protocols: Compliant, Reduced, and Bulk-Only
2015-05-10 08:16:58 -06:00
Gregory Nutt
bd437bfb03
Update ChangeLog
2015-05-09 16:23:19 -06:00
Gregory Nutt
4715a2e697
Update TODO list
2015-05-09 08:23:11 -06:00
Gregory Nutt
6519dc475d
Use sched_kfree() instead of kmm_free()
2015-05-08 12:03:45 -06:00
Gregory Nutt
c35bb693a9
USB host CDC/ACM fixes. Still kind of buggy
2015-05-08 10:58:41 -06:00
Gregory Nutt
513344a084
Fix some missing quotes in a Kconfig file
2015-05-08 08:32:50 -06:00
Gregory Nutt
947fd7a5af
USB host CDC/ACM: Improve RX responsiveness
2015-05-07 11:27:51 -06:00
Gregory Nutt
214aeeff57
USB host CDC/ACM: Add a bulk-only mode mostly for test, fix two bad assertions. Correct some loop termination logic in RX data receipt
2015-05-07 11:16:03 -06:00
Gregory Nutt
53bb938f23
Misc improvements to the CDC/ACM host driver, mostly related to parsing the configuration descriptor. Still does not work.
2015-05-07 10:02:51 -06:00
Gregory Nutt
691d7c9819
Rename usbhost_storageinit() to usbhost_msc_initialize(). Add calls to usbhost_cdcacm_initialize() is CONFIG_USBHOST_CDCACM is selected.
2015-05-06 14:11:29 -06:00
Gregory Nutt
737fd7dcec
drivers/usbhost: Add initial implementatino of a host-side CDC/ACM driver. Completely untested on initial commit (2015-05-06).
2015-05-06 12:49:00 -06:00
Gregory Nutt
4a8fbd8817
USB host: More fixes from last changes.. MSC block read and write must again return number of blocks on success. Fix numerous places where the assumption the ret == OK means success. Since the transfer method now returns the number of byte transfered, the correct test for success is ret >= 0
2015-05-05 15:48:48 -06:00
Gregory Nutt
9296eca193
USB Host function address calculation needs to reset the 'next' address when an address is released
2015-05-05 14:59:03 -06:00
Gregory Nutt
47a112974d
USB host: Modify the transfer() and asynch() methods so that the actual size of the transfer is returned. Unverified on initial commit.
2015-05-05 13:14:22 -06:00
Gregory Nutt
ea17bc3b68
USB hub class: Was not using the configured poll delay value
2015-05-04 13:44:12 -06:00
Gregory Nutt
e903259476
Hub: Use usleep instead of up_mdelay
2015-05-04 07:46:13 -06:00
Gregory Nutt
435d088182
SAMA5 EHCI: Mostly cosmetic
2015-05-03 08:51:44 -06:00
Gregory Nutt
c2a3f936aa
USB host: Need to include the port structure when disconnecting, otherwise may destroy a root hub port
2015-05-02 10:44:18 -06:00
Gregory Nutt
e4f538446b
USB hub: Minor fix to reduce the amount of debug garbage on console in certain configurations
2015-04-30 13:03:28 -06:00
Gregory Nutt
1380945a13
USB hub: Add a configuration option to fallback to polling mode if the the HCD async method does not work. Don't call DRVR_CANCEL twice, and certainly not from the interrupt level. Add so checks so that we do not do some normal asynchronous actions if the hub has been disconnected
2015-04-30 11:30:01 -06:00
Gregory Nutt
b909ad04d8
USB HUB: Fix a deadlock that can occur if the HCD and the HUB try to share the high priority work queue. Now how work must be done on the low priority work queue.
2015-04-29 08:32:17 -06:00
Gregory Nutt
6e20a466ac
Merge remote-tracking branch 'origin/master' into usbhub
2015-04-27 12:27:43 -06:00
Gregory Nutt
cec90e144a
Another missing semicolon in a DEBUGASSERT statement
2015-04-27 12:26:40 -06:00
Gregory Nutt
d88d10830e
USB host: Fix an attempt to take a semaphore from an interrupt handler
2015-04-26 10:05:15 -06:00
Gregory Nutt
397f31f061
Another hub-related interface change: Need to pass speed to EP0
2015-04-26 09:53:43 -06:00
Gregory Nutt
3bae38a2d9
USB HID mouse/keyboard: Fix a reference counting problem
2015-04-25 17:05:30 -06:00
Gregory Nutt
329ae78583
Fix a recently introduced deadlock in some class drivers
2015-04-25 15:57:57 -06:00
Gregory Nutt
4de9bc7b6c
Trivial improvement of debug output
2015-04-25 14:52:36 -06:00
Gregory Nutt
e46cb394f9
Fixes some crashes when the hub is removed and/or reinserted
2015-04-25 12:16:22 -06:00
Gregory Nutt
38e0a4a1cb
Fix a race condition when a mouse or keyboard device is removed from a hub
2015-04-25 11:17:57 -06:00
Gregory Nutt
e7792435c7
Add missing logic to destroy a class when the device is no longer connected to the hub port
2015-04-25 11:17:37 -06:00
Gregory Nutt
ed5287855f
LPC17 USB host: Direction bit being set wrong from allocated control endpoints
2015-04-24 19:46:00 -06:00
Gregory Nutt
64fe226669
USB Hub: Cosmetic update to some naming
2015-04-24 18:32:09 -06:00
Gregory Nutt
becfe4ef9d
HUB class must cancel any pending interrupt IN transfers before destroying the endpoint
2015-04-24 12:18:25 -06:00
Gregory Nutt
2768f13153
USB hub: Fixes for some port status change handling
2015-04-24 09:57:59 -06:00
Gregory Nutt
2586bc3fcc
USB hub fixes. Mostly dealing with setting the hub function address at the right time and powering up downstream ports
2015-04-23 16:42:53 -06:00