diff --git a/arch/arm/src/sama5/sam_ohci.c b/arch/arm/src/sama5/sam_ohci.c index 2c2fe658220..a8a10ebfaa3 100644 --- a/arch/arm/src/sama5/sam_ohci.c +++ b/arch/arm/src/sama5/sam_ohci.c @@ -215,8 +215,6 @@ struct sam_rhport_s struct sam_ohci_s { - /* Driver status */ - volatile bool rhswait; /* TRUE: Thread is waiting for Root Hub Status change */ #ifndef CONFIG_USBHOST_INT_DISABLE @@ -611,7 +609,7 @@ static void sam_putle16(uint8_t *dest, uint16_t val) * Name: sam_edalloc * * Description: - * Return an endpoint descriptor to the free list + * Allocate an endpoint descriptor by removing it from the free list * *******************************************************************************/ @@ -634,7 +632,7 @@ static struct sam_ed_s *sam_edalloc(void) * Name: sam_edfree * * Description: - * Return an endpoint descriptor to the free list + * Free an endpoint descriptor by returning to the free list * *******************************************************************************/ @@ -686,7 +684,7 @@ static struct sam_gtd_s *sam_tdalloc(void) * Name: sam_tdfree * * Description: - * Return an transfer descriptor to the free list + * Free a transfer descriptor by returning it to the free list * * Assumptions: * - Only called from the WDH interrupt handler (and during initialization). diff --git a/include/nuttx/kmalloc.h b/include/nuttx/kmalloc.h index 69ceb06bf13..495fccc142b 100644 --- a/include/nuttx/kmalloc.h +++ b/include/nuttx/kmalloc.h @@ -97,6 +97,7 @@ extern "C" # define kumalloc(s) malloc(s) # define kuzalloc(s) zalloc(s) # define kurealloc(p,s) realloc(p,s) +# define kumemalign(a,s) memalign(a,s) # define kufree(p) free(p) #else @@ -108,6 +109,7 @@ extern "C" # define kumalloc(s) umm_malloc(s) # define kuzalloc(s) umm_zalloc(s) # define kurealloc(p,s) umm_realloc(p,s) +# define kumemalign(a,s) umm_memalign(a,s) # define kufree(p) umm_free(p) #endif @@ -127,6 +129,7 @@ extern "C" # define kmalloc(s) malloc(s) # define kzalloc(s) zalloc(s) # define krealloc(p,s) realloc(p,s) +# define kmemalign(a,s) memalign(a,s) # define kfree(p) free(p) #elif !defined(CONFIG_MM_KERNEL_HEAP) @@ -143,6 +146,7 @@ extern "C" # define kmalloc(s) umm_malloc(s) # define kzalloc(s) umm_zalloc(s) # define krealloc(p,s) umm_realloc(p,s) +# define kmemalign(a,s) umm_memalign(a,s) # define kfree(p) umm_free(p) #else @@ -158,6 +162,7 @@ void kmm_givesemaphore(void); FAR void *kmalloc(size_t size); FAR void *kzalloc(size_t size); FAR void *krealloc(FAR void *oldmem, size_t newsize); +FAR void *kmemalign(size_t alignment, size_t size); void kfree(FAR void *mem); #ifdef CONFIG_DEBUG diff --git a/include/nuttx/usb/ehci.h b/include/nuttx/usb/ehci.h index 01dd69751b1..ee65339e037 100755 --- a/include/nuttx/usb/ehci.h +++ b/include/nuttx/usb/ehci.h @@ -536,7 +536,7 @@ #define QTD_TOKEN_IOC (1 << 15) /* Bit 15: Interrupt On Complete */ #define QTD_TOKEN_NBYTES_SHIFT (16) /* Bits 16-30: Total Bytes to Transfer */ #define QTD_TOKEN_NBYTES_MASK (0x7fff << QTD_TOKEN_NBYTES_SHIFT) -#define QTD_TOKEN_TOGGLE (1 << 13) /* Bit 31: Data Toggle +#define QTD_TOKEN_TOGGLE (1 << 13) /* Bit 31: Data Toggle */ /* qTD Buffer Page Pointer List. Paragraph 3.5.4 */ /* Page 0 */ diff --git a/include/nuttx/userspace.h b/include/nuttx/userspace.h index 6a78c6ffa12..5115aad7d34 100644 --- a/include/nuttx/userspace.h +++ b/include/nuttx/userspace.h @@ -91,6 +91,7 @@ # define umm_malloc(s) USERSPACE->mm_malloc(s) # define umm_zalloc(s) USERSPACE->mm_zalloc(s) # define umm_realloc(p,s) USERSPACE->mm_realloc(p,s) +# define umm_memalign(a,s) USERSPACE->mm_memalign(a,s) # define umm_free(p) USERSPACE->mm_free(p) #endif @@ -140,6 +141,9 @@ struct userspace_s FAR void *(*mm_malloc)(size_t size); FAR void *(*mm_realloc)(FAR void *oldmem, size_t newsize); +#if 0 /* Not yet integrated */ + FAR void *(*mm_memalign)(size_t alignment, size_t size); +#endif FAR void *(*mm_zalloc)(size_t size); void (*mm_free)(FAR void *mem); diff --git a/mm/mm_kernel.c b/mm/mm_kernel.c index 0cf592e0a8f..ee156e88903 100644 --- a/mm/mm_kernel.c +++ b/mm/mm_kernel.c @@ -168,6 +168,26 @@ FAR void *krealloc(FAR void *oldmem, size_t newsize) return mm_realloc(&g_kmmheap, oldmem, newsize); } +/************************************************************************ + * Name: kmemalign + * + * Description: + * Allocate aligned memory in the kernel heap. + * + * Parameters: + * alignment - Log2 byte alignment + * size - Size (in bytes) of the new memory region to be allocated. + * + * Return Value: + * The address of the re-allocated memory (NULL on failure to allocate) + * + ************************************************************************/ + +FAR void *kmemalign(size_t alignment, size_t size) +{ + return mm_memalign(&g_kmmheap, alignment, size); +} + /************************************************************************ * Name: kfree *