From 32c88f81c0d94df0790a06b029285e8c8f7aa1e3 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 15 Jul 2012 14:56:25 +0000 Subject: drivers/, drivers/pipes, and drivers/serial file clean-up git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4944 7fd9a85b-ad96-42d3-883c-3090e2eb8679 --- nuttx/ChangeLog | 1 + nuttx/drivers/dev_null.c | 2 +- nuttx/drivers/dev_zero.c | 2 +- nuttx/drivers/loop.c | 5 +- nuttx/drivers/pipes/Make.defs | 2 +- nuttx/drivers/pipes/fifo.c | 5 +- nuttx/drivers/pipes/pipe.c | 8 ++- nuttx/drivers/pipes/pipe_common.c | 9 ++- nuttx/drivers/pipes/pipe_common.h | 8 +-- nuttx/drivers/ramdisk.c | 13 +++-- nuttx/drivers/rwbuffer.c | 9 ++- nuttx/drivers/serial/Make.defs | 2 +- nuttx/drivers/serial/serial.c | 2 +- nuttx/drivers/serial/serialirq.c | 3 +- nuttx/drivers/serial/uart_16550.c | 116 +++++++++++++++++++------------------- 15 files changed, 104 insertions(+), 83 deletions(-) diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 23d3084aed..d920bc7f29 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -2995,3 +2995,4 @@ and do not follow current NuttX coding standards in detail. * fs/: More stylistic file clean-up. * mm/: More stylistic file clean-up. + * drivers/ and drivers/serial/: More stylistic file clean-up. diff --git a/nuttx/drivers/dev_null.c b/nuttx/drivers/dev_null.c index c2b523bcb7..e2c4c7ef74 100644 --- a/nuttx/drivers/dev_null.c +++ b/nuttx/drivers/dev_null.c @@ -2,7 +2,7 @@ * drivers/dev_null.c * * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/drivers/dev_zero.c b/nuttx/drivers/dev_zero.c index 23a2078f5f..079126c061 100644 --- a/nuttx/drivers/dev_zero.c +++ b/nuttx/drivers/dev_zero.c @@ -2,7 +2,7 @@ * drivers/dev_null.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/drivers/loop.c b/nuttx/drivers/loop.c index 322a421b52..df96da59fb 100644 --- a/nuttx/drivers/loop.c +++ b/nuttx/drivers/loop.c @@ -2,7 +2,7 @@ * drivers/loop.c * * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -166,6 +166,7 @@ static int loop_open(FAR struct inode *inode) dev->opencnt++; } + loop_semgive(dev); return ret; } @@ -198,6 +199,7 @@ static int loop_close(FAR struct inode *inode) dev->opencnt--; } + loop_semgive(dev); return ret; } @@ -327,6 +329,7 @@ static int loop_geometry(FAR struct inode *inode, struct geometry *geometry) geometry->geo_sectorsize = dev->sectsize; return OK; } + return -EINVAL; } diff --git a/nuttx/drivers/pipes/Make.defs b/nuttx/drivers/pipes/Make.defs index 15930627ab..836505481b 100644 --- a/nuttx/drivers/pipes/Make.defs +++ b/nuttx/drivers/pipes/Make.defs @@ -2,7 +2,7 @@ # drivers/pipes/Make.defs # # Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt +# Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/nuttx/drivers/pipes/fifo.c b/nuttx/drivers/pipes/fifo.c index 951a4e04eb..03aafd0f0a 100644 --- a/nuttx/drivers/pipes/fifo.c +++ b/nuttx/drivers/pipes/fifo.c @@ -2,7 +2,7 @@ * drivers/pipes/fifo.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -113,6 +113,7 @@ static const struct file_operations fifo_fops = * appropriately. * ****************************************************************************/ + int mkfifo(FAR const char *pathname, mode_t mode) { struct pipe_dev_s *dev; @@ -131,6 +132,8 @@ int mkfifo(FAR const char *pathname, mode_t mode) { pipecommon_freedev(dev); } + return ret; } + #endif /* CONFIG_DEV_PIPE_SIZE > 0 */ diff --git a/nuttx/drivers/pipes/pipe.c b/nuttx/drivers/pipes/pipe.c index 5ca72e6401..20c160475b 100644 --- a/nuttx/drivers/pipes/pipe.c +++ b/nuttx/drivers/pipes/pipe.c @@ -2,7 +2,7 @@ * drivers/pipes/pipe.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -114,6 +114,7 @@ static inline int pipe_allocate(void) break; } } + return ret; } @@ -145,7 +146,7 @@ static int pipe_close(FAR struct file *filep) #if CONFIG_DEBUG if (!dev) { - return -EBADF; + return -EBADF; } #endif @@ -158,6 +159,7 @@ static int pipe_close(FAR struct file *filep) pipe_free(dev->d_pipeno); } + return ret; } @@ -228,6 +230,7 @@ int pipe(int filedes[2]) err = ENOMEM; goto errout_with_pipe; } + dev->d_pipeno = pipeno; /* Register the pipe device */ @@ -244,6 +247,7 @@ int pipe(int filedes[2]) g_pipecreated |= (1 << pipeno); } + (void)sem_post(&g_pipesem); /* Get a write file descriptor */ diff --git a/nuttx/drivers/pipes/pipe_common.c b/nuttx/drivers/pipes/pipe_common.c index 0282d8acd1..5f61fdd8e3 100644 --- a/nuttx/drivers/pipes/pipe_common.c +++ b/nuttx/drivers/pipes/pipe_common.c @@ -2,7 +2,7 @@ * drivers/pipes/pipe_common.c * * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -161,6 +161,7 @@ FAR struct pipe_dev_s *pipecommon_allocdev(void) sem_init(&dev->d_rdsem, 0, 0); sem_init(&dev->d_wrsem, 0, 0); } + return dev; } @@ -194,6 +195,7 @@ int pipecommon_open(FAR struct file *filep) return -EBADF; } #endif + /* Make sure that we have exclusive access to the device structure. The * sem_wait() call should fail only if we are awakened by a signal. */ @@ -306,9 +308,9 @@ int pipecommon_close(FAR struct file *filep) if (dev->d_refs > 1) { - /* No.. then just decrement the reference count */ + /* No.. then just decrement the reference count */ - dev->d_refs--; + dev->d_refs--; /* If opened for writing, decrement the count of writers on on the pipe instance */ @@ -459,6 +461,7 @@ ssize_t pipecommon_write(FAR struct file *filep, FAR const char *buffer, size_t return -ENODEV; } #endif + pipe_dumpbuffer("To PIPE:", (uint8_t*)buffer, len); /* At present, this method cannot be called from interrupt handlers. That is diff --git a/nuttx/drivers/pipes/pipe_common.h b/nuttx/drivers/pipes/pipe_common.h index 16bf285b5e..44822e07f8 100644 --- a/nuttx/drivers/pipes/pipe_common.h +++ b/nuttx/drivers/pipes/pipe_common.h @@ -2,7 +2,7 @@ * drivers/pipe/pipe_common.h * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -33,8 +33,8 @@ * ****************************************************************************/ -#ifndef __DRIVERS_PIPE_COMMON_H -#define __DRIVERS_PIPE_COMMON_H +#ifndef __DRIVERS_PIPES_PIPE_COMMON_H +#define __DRIVERS_PIPES_PIPE_COMMON_H /**************************************************************************** * Included Files @@ -136,4 +136,4 @@ EXTERN int pipecommon_poll(FAR struct file *filep, FAR struct pollfd *fds, #endif #endif /* CONFIG_DEV_PIPE_SIZE > 0 */ -#endif /* __DRIVERS_PIPE_COMMON_H */ +#endif /* __DRIVERS_PIPES_PIPE_COMMON_H */ diff --git a/nuttx/drivers/ramdisk.c b/nuttx/drivers/ramdisk.c index 0a6a7b7146..91912b25c2 100644 --- a/nuttx/drivers/ramdisk.c +++ b/nuttx/drivers/ramdisk.c @@ -2,7 +2,7 @@ * drivers/ramdisk.c * * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -166,6 +166,7 @@ static ssize_t rd_read(FAR struct inode *inode, unsigned char *buffer, nsectors * dev->rd_sectsize); return nsectors; } + return -EINVAL; } @@ -204,6 +205,7 @@ static ssize_t rd_write(FAR struct inode *inode, const unsigned char *buffer, nsectors * dev->rd_sectsize); return nsectors; } + return -EFBIG; } #endif @@ -242,6 +244,7 @@ static int rd_geometry(FAR struct inode *inode, struct geometry *geometry) return OK; } + return -EINVAL; } @@ -264,11 +267,11 @@ static int rd_ioctl(FAR struct inode *inode, int cmd, unsigned long arg) DEBUGASSERT(inode && inode->i_private); if (cmd == BIOC_XIPBASE && ppv) { - dev = (struct rd_struct_s *)inode->i_private; - *ppv = (void*)dev->rd_buffer; + dev = (struct rd_struct_s *)inode->i_private; + *ppv = (void*)dev->rd_buffer; - fvdbg("ppv: %p\n", *ppv); - return OK; + fvdbg("ppv: %p\n", *ppv); + return OK; } return -ENOTTY; diff --git a/nuttx/drivers/rwbuffer.c b/nuttx/drivers/rwbuffer.c index 5f3dbe98ce..1d924e2a05 100644 --- a/nuttx/drivers/rwbuffer.c +++ b/nuttx/drivers/rwbuffer.c @@ -2,7 +2,7 @@ * drivers/rwbuffer.c * * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -359,6 +359,7 @@ static int rwb_rhreload(struct rwbuffer_s *rwb, off_t startblock) { endblock = rwb->nblocks; } + nblocks = endblock - startblock; /* Now perform the read */ @@ -655,10 +656,12 @@ int rwb_write(FAR struct rwbuffer_s *rwb, off_t startblock, /**************************************************************************** * Name: rwb_mediaremoved + * + * Description: + * The following function is called when media is removed + * ****************************************************************************/ -/* The following function is called when media is removed */ - int rwb_mediaremoved(FAR struct rwbuffer_s *rwb) { #ifdef CONFIG_FS_WRITEBUFFER diff --git a/nuttx/drivers/serial/Make.defs b/nuttx/drivers/serial/Make.defs index b78628334d..b99f4eb362 100644 --- a/nuttx/drivers/serial/Make.defs +++ b/nuttx/drivers/serial/Make.defs @@ -2,7 +2,7 @@ # drivers/serial/Make.defs # # Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt +# Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/nuttx/drivers/serial/serial.c b/nuttx/drivers/serial/serial.c index f2f1e4b999..e0bd6dc0b9 100644 --- a/nuttx/drivers/serial/serial.c +++ b/nuttx/drivers/serial/serial.c @@ -120,7 +120,7 @@ static void uart_takesem(FAR sem_t *sem) * the wait was awakened by a signal. */ - ASSERT(*get_errno_ptr() == EINTR); + ASSERT(get_errno() == EINTR); } } diff --git a/nuttx/drivers/serial/serialirq.c b/nuttx/drivers/serial/serialirq.c index f42e0ad22d..fda5b4afb5 100644 --- a/nuttx/drivers/serial/serialirq.c +++ b/nuttx/drivers/serial/serialirq.c @@ -2,7 +2,7 @@ * drivers/serial/serialirq.c * * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -184,4 +184,3 @@ void uart_recvchars(FAR uart_dev_t *dev) uart_datareceived(dev); } } - diff --git a/nuttx/drivers/serial/uart_16550.c b/nuttx/drivers/serial/uart_16550.c index 9bebcd3f6d..ea7d944f3a 100644 --- a/nuttx/drivers/serial/uart_16550.c +++ b/nuttx/drivers/serial/uart_16550.c @@ -3,7 +3,7 @@ * Serial driver for 16550 UART * * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -295,24 +295,24 @@ static uart_dev_t g_uart3port = /* Which UART with be tty0/console and which tty1? tty2? tty3? */ #if defined(CONFIG_UART0_SERIAL_CONSOLE) -# define CONSOLE_DEV g_uart0port /* UART0=console */ -# define TTYS0_DEV g_uart0port /* UART0=ttyS0 */ +# define CONSOLE_DEV g_uart0port /* UART0=console */ +# define TTYS0_DEV g_uart0port /* UART0=ttyS0 */ # ifdef CONFIG_16550_UART1 -# define TTYS1_DEV g_uart1port /* UART0=ttyS0;UART1=ttyS1 */ +# define TTYS1_DEV g_uart1port /* UART0=ttyS0;UART1=ttyS1 */ # ifdef CONFIG_16550_UART2 -# define TTYS2_DEV g_uart2port /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS2 */ +# define TTYS2_DEV g_uart2port /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS2 */ # ifdef CONFIG_16550_UART3 -# define TTYS3_DEV g_uart3port /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS2;UART3=ttyS3 */ +# define TTYS3_DEV g_uart3port /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS2;UART3=ttyS3 */ # else -# undef TTYS3_DEV /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS;No ttyS3 */ +# undef TTYS3_DEV /* UART0=ttyS0;UART1=ttyS1;UART2=ttyS;No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART3 -# define TTYS2_DEV g_uart3port /* UART0=ttyS0;UART1=ttyS1;UART3=ttys2;No ttyS3 */ +# define TTYS2_DEV g_uart3port /* UART0=ttyS0;UART1=ttyS1;UART3=ttys2;No ttyS3 */ # else -# undef TTYS2_DEV /* UART0=ttyS0;UART1=ttyS1;No ttyS2;No ttyS3 */ +# undef TTYS2_DEV /* UART0=ttyS0;UART1=ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS3_DEV /* No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART2 @@ -329,68 +329,68 @@ static uart_dev_t g_uart3port = # else # undef TTYS1_DEV /* UART0=ttyS0;No ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS2_DEV /* No ttyS2 */ -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS2_DEV /* No ttyS2 */ +# undef TTYS3_DEV /* No ttyS3 */ # endif # endif #elif defined(CONFIG_UART1_SERIAL_CONSOLE) -# define CONSOLE_DEV g_uart1port /* UART1=console */ -# define TTYS0_DEV g_uart1port /* UART1=ttyS0 */ +# define CONSOLE_DEV g_uart1port /* UART1=console */ +# define TTYS0_DEV g_uart1port /* UART1=ttyS0 */ # ifdef CONFIG_16550_UART -# define TTYS1_DEV g_uart0port /* UART1=ttyS0;UART0=ttyS1 */ +# define TTYS1_DEV g_uart0port /* UART1=ttyS0;UART0=ttyS1 */ # ifdef CONFIG_16550_UART2 -# define TTYS2_DEV g_uart2port /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS2 */ +# define TTYS2_DEV g_uart2port /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS2 */ # ifdef CONFIG_16550_UART3 -# define TTYS3_DEV g_uart3port /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS2;UART3=ttyS3 */ +# define TTYS3_DEV g_uart3port /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS2;UART3=ttyS3 */ # else -# undef TTYS3_DEV /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS;No ttyS3 */ +# undef TTYS3_DEV /* UART1=ttyS0;UART0=ttyS1;UART2=ttyS;No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART3 -# define TTYS2_DEV g_uart3port /* UART1=ttyS0;UART0=ttyS1;UART3=ttys2;No ttyS3 */ +# define TTYS2_DEV g_uart3port /* UART1=ttyS0;UART0=ttyS1;UART3=ttys2;No ttyS3 */ # else -# undef TTYS2_DEV /* UART1=ttyS0;UART0=ttyS1;No ttyS2;No ttyS3 */ +# undef TTYS2_DEV /* UART1=ttyS0;UART0=ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS3_DEV /* No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART2 -# define TTYS1_DEV g_uart2port /* UART1=ttyS0;UART2=ttyS1 */ +# define TTYS1_DEV g_uart2port /* UART1=ttyS0;UART2=ttyS1 */ # ifdef CONFIG_16550_UART3 -# define TTYS2_DEV g_uart3port /* UART1=ttyS0;UART2=ttyS1;UART3=ttyS2;No ttyS3 */ +# define TTYS2_DEV g_uart3port /* UART1=ttyS0;UART2=ttyS1;UART3=ttyS2;No ttyS3 */ # else -# undef TTYS2_DEV /* UART1=ttyS0;UART2=ttyS1;No ttyS2;No ttyS3 */ +# undef TTYS2_DEV /* UART1=ttyS0;UART2=ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS3_DEV /* No ttyS3 */ # else # ifdef CONFIG_16550_UART3 -# define TTYS1_DEV g_uart3port /* UART1=ttyS0;UART3=ttyS1;No ttyS2;No ttyS3 */ +# define TTYS1_DEV g_uart3port /* UART1=ttyS0;UART3=ttyS1;No ttyS2;No ttyS3 */ # else -# undef TTYS1_DEV /* UART1=ttyS0;No ttyS1;No ttyS2;No ttyS3 */ +# undef TTYS1_DEV /* UART1=ttyS0;No ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS2_DEV /* No ttyS2 */ -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS2_DEV /* No ttyS2 */ +# undef TTYS3_DEV /* No ttyS3 */ # endif # endif #elif defined(CONFIG_UART2_SERIAL_CONSOLE) -# define CONSOLE_DEV g_uart2port /* UART2=console */ -# define TTYS0_DEV g_uart2port /* UART2=ttyS0 */ +# define CONSOLE_DEV g_uart2port /* UART2=console */ +# define TTYS0_DEV g_uart2port /* UART2=ttyS0 */ # ifdef CONFIG_16550_UART -# define TTYS1_DEV g_uart0port /* UART2=ttyS0;UART0=ttyS1 */ +# define TTYS1_DEV g_uart0port /* UART2=ttyS0;UART0=ttyS1 */ # ifdef CONFIG_16550_UART1 -# define TTYS2_DEV g_uart1port /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS2 */ +# define TTYS2_DEV g_uart1port /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS2 */ # ifdef CONFIG_16550_UART3 -# define TTYS3_DEV g_uart3port /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS2;UART3=ttyS3 */ +# define TTYS3_DEV g_uart3port /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS2;UART3=ttyS3 */ # else -# undef TTYS3_DEV /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS;No ttyS3 */ +# undef TTYS3_DEV /* UART2=ttyS0;UART0=ttyS1;UART1=ttyS;No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART3 -# define TTYS2_DEV g_uart3port /* UART2=ttyS0;UART0=ttyS1;UART3=ttys2;No ttyS3 */ +# define TTYS2_DEV g_uart3port /* UART2=ttyS0;UART0=ttyS1;UART3=ttys2;No ttyS3 */ # else -# undef TTYS2_DEV /* UART2=ttyS0;UART0=ttyS1;No ttyS2;No ttyS3 */ +# undef TTYS2_DEV /* UART2=ttyS0;UART0=ttyS1;No ttyS2;No ttyS3 */ # endif -# undef TTYS3_DEV /* No ttyS3 */ +# undef TTYS3_DEV /* No ttyS3 */ # endif # else # ifdef CONFIG_16550_UART1 @@ -682,11 +682,11 @@ static int u16550_attach(struct uart_dev_s *dev) #ifndef CONFIG_ARCH_NOINTC if (ret == OK) { - /* Enable the interrupt (RX and TX interrupts are still disabled - * in the UART - */ + /* Enable the interrupt (RX and TX interrupts are still disabled + * in the UART + */ - up_enable_irq(priv->irq); + up_enable_irq(priv->irq); } #endif return ret; @@ -776,7 +776,7 @@ static int u16550_interrupt(int irq, void *context) * termination conditions */ - status = u16550_serialin(priv, UART_IIR_OFFSET); + status = u16550_serialin(priv, UART_IIR_OFFSET); /* The UART_IIR_INTSTATUS bit should be zero if there are pending * interrupts @@ -843,7 +843,8 @@ static int u16550_interrupt(int irq, void *context) } } } - return OK; + + return OK; } #endif @@ -866,18 +867,18 @@ static int u16550_ioctl(struct file *filep, int cmd, unsigned long arg) { case TIOCSERGSTRUCT: { - struct u16550_s *user = (struct u16550_s*)arg; - if (!user) - { - *get_errno_ptr() = EINVAL; - ret = ERROR; - } - else - { - memcpy(user, dev, sizeof(struct u16550_s)); - } - } - break; + struct u16550_s *user = (struct u16550_s*)arg; + if (!user) + { + set_errno(EINVAL); + ret = ERROR; + } + else + { + memcpy(user, dev, sizeof(struct u16550_s)); + } + } + break; case TIOCSBRK: /* BSD compatibility: Turn break on, unconditionally */ { @@ -897,7 +898,7 @@ static int u16550_ioctl(struct file *filep, int cmd, unsigned long arg) break; default: - *get_errno_ptr() = ENOTTY; + set_errno(ENOTTY); ret = ERROR; break; } @@ -1008,6 +1009,7 @@ static void u16550_txint(struct uart_dev_s *dev, bool enable) priv->ier &= ~UART_IER_ETBEI; u16550_serialout(priv, UART_IER_OFFSET, priv->ier); } + irqrestore(flags); #endif } -- cgit v1.2.3