From 1660329d0683f2e3e74834e5e76d90804ebf0baf Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 18 Jul 2016 10:55:37 -0600 Subject: [PATCH] Rename up_rnginitialize to devrandom_register --- arch/arm/src/common/up_initialize.c | 2 +- arch/arm/src/common/up_internal.h | 6 ------ arch/arm/src/sama5/sam_trng.c | 16 +++++++++------- arch/arm/src/samv7/sam_trng.c | 16 +++++++++------- arch/arm/src/stm32/stm32_rng.c | 18 ++++++++++++++++-- arch/arm/src/stm32l4/stm32l4_rng.c | 18 ++++++++++++++++-- arch/avr/src/common/up_initialize.c | 2 +- arch/hc/src/common/up_initialize.c | 2 +- arch/mips/src/common/up_initialize.c | 2 +- arch/rgmp/src/nuttx.c | 2 +- arch/sh/src/common/up_initialize.c | 2 +- arch/sim/src/up_initialize.c | 2 +- arch/x86/src/common/up_initialize.c | 2 +- arch/z16/src/common/up_initialize.c | 2 +- arch/z80/src/common/up_initialize.c | 2 +- drivers/serial/pty.c | 8 +++++--- drivers/wireless/cc1101.c | 10 +++++++--- include/nuttx/fs/fs.h | 14 ++++++++++++++ 18 files changed, 86 insertions(+), 40 deletions(-) diff --git a/arch/arm/src/common/up_initialize.c b/arch/arm/src/common/up_initialize.c index 9e4477d76a1..9803304fd7a 100644 --- a/arch/arm/src/common/up_initialize.c +++ b/arch/arm/src/common/up_initialize.c @@ -260,7 +260,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/arm/src/common/up_internal.h b/arch/arm/src/common/up_internal.h index feec4333558..36095a87a45 100644 --- a/arch/arm/src/common/up_internal.h +++ b/arch/arm/src/common/up_internal.h @@ -545,12 +545,6 @@ void up_usbuninitialize(void); # define up_usbuninitialize() #endif -/* Random Number Generator (RNG) ********************************************/ - -#ifdef CONFIG_DEV_RANDOM -void up_rnginitialize(void); -#endif - /* Debug ********************************************************************/ #ifdef CONFIG_STACK_COLORATION void up_stack_color(FAR void *stackbase, size_t nbytes); diff --git a/arch/arm/src/sama5/sam_trng.c b/arch/arm/src/sama5/sam_trng.c index a3eb102640e..b9294611423 100644 --- a/arch/arm/src/sama5/sam_trng.c +++ b/arch/arm/src/sama5/sam_trng.c @@ -1,7 +1,7 @@ /**************************************************************************** * arch/arm/src/sama5/sam_trng.c * - * Copyright (C) 2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2013, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Derives, in part, from Max Holtzberg's STM32 RNG Nuttx driver: @@ -329,10 +329,10 @@ errout: ****************************************************************************/ /**************************************************************************** - * Name: up_rnginitialize + * Name: devrandom_register * * Description: - * Initialize the TRNG hardware and register the /dev/randome driver. + * Initialize the TRNG hardware and register the /dev/random driver. * * Input Parameters: * None @@ -342,7 +342,7 @@ errout: * ****************************************************************************/ -void up_rnginitialize(void) +int devrandom_register(void) { int ret; @@ -360,10 +360,11 @@ void up_rnginitialize(void) /* Initialize the TRNG interrupt */ - if (irq_attach(SAM_IRQ_TRNG, sam_interrupt)) + ret = irq_attach(SAM_IRQ_TRNG, sam_interrupt); + if (ret < 0) { ferr("ERROR: Failed to attach to IRQ%d\n", SAM_IRQ_TRNG); - return; + return ret; } /* Disable the interrupts at the TRNG */ @@ -380,10 +381,11 @@ void up_rnginitialize(void) if (ret < 0) { ferr("ERROR: Failed to register /dev/random\n"); - return; + return ret; } /* Enable the TRNG interrupt at the AIC */ up_enable_irq(SAM_IRQ_TRNG); + return OK; } diff --git a/arch/arm/src/samv7/sam_trng.c b/arch/arm/src/samv7/sam_trng.c index 7dc29a77d83..89c7630b21c 100644 --- a/arch/arm/src/samv7/sam_trng.c +++ b/arch/arm/src/samv7/sam_trng.c @@ -1,7 +1,7 @@ /**************************************************************************** * arch/arm/src/samv7/sam_trng.c * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Derives from the SAMA5D3 TRNG Nuttx driver which, in turn, derives, in @@ -330,10 +330,10 @@ errout: ****************************************************************************/ /**************************************************************************** - * Name: up_rnginitialize + * Name: devrandom_register * * Description: - * Initialize the TRNG hardware and register the /dev/randome driver. + * Initialize the TRNG hardware and register the /dev/random driver. * * Input Parameters: * None @@ -343,7 +343,7 @@ errout: * ****************************************************************************/ -void up_rnginitialize(void) +int devrandom_register(void) { int ret; @@ -361,10 +361,11 @@ void up_rnginitialize(void) /* Initialize the TRNG interrupt */ - if (irq_attach(SAM_IRQ_TRNG, sam_interrupt)) + ret = irq_attach(SAM_IRQ_TRNG, sam_interrupt); + if (ret < 0) { ferr("ERROR: Failed to attach to IRQ%d\n", SAM_IRQ_TRNG); - return; + return ret; } /* Disable the interrupts at the TRNG */ @@ -381,10 +382,11 @@ void up_rnginitialize(void) if (ret < 0) { ferr("ERROR: Failed to register /dev/random\n"); - return; + return ret; } /* Enable the TRNG interrupt at the AIC */ up_enable_irq(SAM_IRQ_TRNG); + return OK; } diff --git a/arch/arm/src/stm32/stm32_rng.c b/arch/arm/src/stm32/stm32_rng.c index fce55ebf0a3..eda6f5d550c 100644 --- a/arch/arm/src/stm32/stm32_rng.c +++ b/arch/arm/src/stm32/stm32_rng.c @@ -258,8 +258,22 @@ static ssize_t stm32_read(struct file *filep, char *buffer, size_t buflen) * Public Functions ****************************************************************************/ -void up_rnginitialize() +/**************************************************************************** + * Name: devrandom_register + * + * Description: + * Initialize the RNG hardware and register the /dev/random driver. + * + * Input Parameters: + * None + * + * Returned Value: + * None + * + ****************************************************************************/ + +int devrandom_register(void) { stm32_rnginitialize(); - register_driver("/dev/random", &g_rngops, 0444, NULL); + return register_driver("/dev/random", &g_rngops, 0444, NULL); } diff --git a/arch/arm/src/stm32l4/stm32l4_rng.c b/arch/arm/src/stm32l4/stm32l4_rng.c index f9324fb6f1e..63a7b7428aa 100644 --- a/arch/arm/src/stm32l4/stm32l4_rng.c +++ b/arch/arm/src/stm32l4/stm32l4_rng.c @@ -289,10 +289,24 @@ static ssize_t stm32l4_rngread(struct file *filep, char *buffer, size_t buflen) * Public Functions ****************************************************************************/ -void up_rnginitialize(void) +/**************************************************************************** + * Name: devrandom_register + * + * Description: + * Initialize the RNG hardware and register the /dev/random driver. + * + * Input Parameters: + * None + * + * Returned Value: + * None + * + ****************************************************************************/ + +int devrandom_register(void) { stm32l4_rnginitialize(); - register_driver("/dev/random", &g_rngops, 0444, NULL); + return register_driver("/dev/random", &g_rngops, 0444, NULL); } #endif /* CONFIG_STM32L4_RNG */ diff --git a/arch/avr/src/common/up_initialize.c b/arch/avr/src/common/up_initialize.c index 3290dab26ba..a38c0be2e5d 100644 --- a/arch/avr/src/common/up_initialize.c +++ b/arch/avr/src/common/up_initialize.c @@ -301,7 +301,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/hc/src/common/up_initialize.c b/arch/hc/src/common/up_initialize.c index fb953156623..a51d156f043 100644 --- a/arch/hc/src/common/up_initialize.c +++ b/arch/hc/src/common/up_initialize.c @@ -227,7 +227,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/mips/src/common/up_initialize.c b/arch/mips/src/common/up_initialize.c index 6b2384b8ba3..bcd29d37fa0 100644 --- a/arch/mips/src/common/up_initialize.c +++ b/arch/mips/src/common/up_initialize.c @@ -229,7 +229,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/rgmp/src/nuttx.c b/arch/rgmp/src/nuttx.c index 8e1b916b251..fe5af0e4dd6 100644 --- a/arch/rgmp/src/nuttx.c +++ b/arch/rgmp/src/nuttx.c @@ -172,7 +172,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif /* Enable interrupt */ diff --git a/arch/sh/src/common/up_initialize.c b/arch/sh/src/common/up_initialize.c index 528a7c903e7..f4fd01baffb 100644 --- a/arch/sh/src/common/up_initialize.c +++ b/arch/sh/src/common/up_initialize.c @@ -221,7 +221,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/sim/src/up_initialize.c b/arch/sim/src/up_initialize.c index cc8c890ea69..d8f761f8855 100644 --- a/arch/sim/src/up_initialize.c +++ b/arch/sim/src/up_initialize.c @@ -211,7 +211,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #if defined(CONFIG_FS_FAT) && !defined(CONFIG_DISABLE_MOUNTPOINT) diff --git a/arch/x86/src/common/up_initialize.c b/arch/x86/src/common/up_initialize.c index e3041739308..dc12de56030 100644 --- a/arch/x86/src/common/up_initialize.c +++ b/arch/x86/src/common/up_initialize.c @@ -229,7 +229,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/z16/src/common/up_initialize.c b/arch/z16/src/common/up_initialize.c index 499e74966ec..6d239130be2 100644 --- a/arch/z16/src/common/up_initialize.c +++ b/arch/z16/src/common/up_initialize.c @@ -229,7 +229,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/arch/z80/src/common/up_initialize.c b/arch/z80/src/common/up_initialize.c index 1820871fbef..f3adc1dd613 100644 --- a/arch/z80/src/common/up_initialize.c +++ b/arch/z80/src/common/up_initialize.c @@ -226,7 +226,7 @@ void up_initialize(void) #ifdef CONFIG_DEV_RANDOM /* Initialize the Random Number Generator (RNG) */ - up_rnginitialize(); + devrandom_register(); #endif #ifndef CONFIG_NETDEV_LATEINIT diff --git a/drivers/serial/pty.c b/drivers/serial/pty.c index 30bf4fbab19..f3c24b49822 100644 --- a/drivers/serial/pty.c +++ b/drivers/serial/pty.c @@ -424,7 +424,7 @@ static ssize_t pty_read(FAR struct file *filep, FAR char *buffer, size_t len) * * There is an inherent race condition in this test, but leaving * a few bytes unnecessarily in the pipe should not be harmful. - * (we could lock the scheduler between the test and the + * (we could lock the scheduler before the test and after the * file_read() below if we wanted to eliminate the race) */ @@ -443,7 +443,9 @@ static ssize_t pty_read(FAR struct file *filep, FAR char *buffer, size_t len) } /* Break out of the loop and return ntotal if the pipe is - * empty. + * empty. This is the race: The fifo was emtpy when we + * called file_ioctl() above, but it might not be empty right + * now. */ if (nsrc < 1) @@ -495,7 +497,7 @@ static ssize_t pty_read(FAR struct file *filep, FAR char *buffer, size_t len) else #endif { - /* NOTE: the source pipe will block is no data is available in + /* NOTE: the source pipe will block if no data is available in * the pipe. Otherwise, it will return data from the pipe. If * there are fewer than 'len' bytes in the, it will return with * ntotal < len. diff --git a/drivers/wireless/cc1101.c b/drivers/wireless/cc1101.c index 8d8958fc728..aa27eda883b 100644 --- a/drivers/wireless/cc1101.c +++ b/drivers/wireless/cc1101.c @@ -97,11 +97,13 @@ ****************************************************************************/ #include -#include + #include #include -#include #include +#include +#include +#include #include #include @@ -450,6 +452,8 @@ void cc1101_dumpregs(struct cc1101_dev_s * dev, uint8_t addr, uint8_t length) cc1101_access(dev, addr, (FAR uint8_t *)buf, length); + /* REVISIT: printf() should not be used from within the OS */ + printf("CC1101[%2x]: ", addr); for (i = 0; i < length; i++) { @@ -814,7 +818,7 @@ int cc1101_read(struct cc1101_dev_s * dev, uint8_t * buf, size_t size) if (nbytes > size || (nbytes <= size && !(buf[nbytes-1]&0x80))) { - printf("Flushing RX FIFO\n"); + ninfo("Flushing RX FIFO\n"); cc1101_strobe(dev, CC1101_SFRX); } diff --git a/include/nuttx/fs/fs.h b/include/nuttx/fs/fs.h index ea0409cd84d..b9866adaad4 100644 --- a/include/nuttx/fs/fs.h +++ b/include/nuttx/fs/fs.h @@ -1013,6 +1013,18 @@ int fdesc_poll(int fd, FAR struct pollfd *fds, bool setup); void devnull_register(void); +/**************************************************************************** + * Name: devrandom_register + * + * Description: + * Initialize the RNG hardware and register the /dev/random driver. + * + ****************************************************************************/ + +#ifdef CONFIG_DEV_RANDOM +void devrandom_register(void); +#endif + /**************************************************************************** * Name: devurandom_register * @@ -1021,7 +1033,9 @@ void devnull_register(void); * ****************************************************************************/ +#ifdef CONFIG_DEV_URANDOM void devurandom_register(void); +#endif /**************************************************************************** * Name: devcrypto_register