Commit Graph

3827 Commits

Author SHA1 Message Date
Xiang Xiao
6c057e608b Squashed commit of the following:
drivers/timers/arch_timer.c: implement timer arch API on top of timer driver interface

    drivers/timers/arch_alarm.c:  Implement alarm arch API on top of oneshot driver interface

    drivers/timers/arch_rtc.c:  Implement RTC arch API on top of RTC driver interface

    include/nuttx/timers/rtc.h:  Extend struct rtc_time by adding tm_nsec if RTC supporst hiresolution time.
2018-08-27 11:55:30 -06:00
Gregory Nutt
c0d234a474 Squashed commit of the following:
drivers/serial/Kconfig:  It is no longer necessary to restrict Ctrl-C handling to the FLAT build

    sched/signal:  Add a new configuration option to select signal default actions, separate handling of signal default actions from both task startup logic and from the serial TTY Ctrl-C logic.  Add a signal set in the group structure to keep track of what signals have been set to the default action.  In dispatching signals in PROTECTED or KERNEL mode, use this signal set to determine if the default signal handler is attached and dispatch the signal in kernel mode for the default actions.
2018-08-27 11:40:09 -06:00
Xiang Xiao
798922b9c6 include/nuttx/lib/modlib.h: Eliminate warning: 'CONFIG_MODLIB_MAXDEPEND' is not defined' 2018-08-27 11:39:52 -06:00
zhuyanlin
459d9f2851 Squashed commit of the following:
driver/ioexpander:  Add gpio_pin_unregister function to GPIO driver
  driver/ioexpander:  Add pinset struct to GPIO driver for interrupt pins larger than 64
  driver/ioexpander:  Initialize pintype/inttype when registering ioexpander device
  driver/ioexpander:  Add SETPINTYPE ioctl command to the GPIO driver
2018-08-27 09:25:11 -06:00
Xiang Xiao
b5f8c035a6 audio/audio_comp.c: Add the composite audio driver 2018-08-27 09:03:09 -06:00
ZhongAn
85a993999e drivers/audio/audio_i2s.c: Add audio_i2s device driver. 2018-08-27 08:52:08 -06:00
ZhongAn
47db09633c include/nuttx/audio/i2s.h: Add i2s_rxchannels and i2s_txchannels methods to the I2S lower half interface. 2018-08-27 08:37:57 -06:00
anchao
d795344014 nuttx/audio: Add hardware format support 2018-08-27 07:58:22 -06:00
ZhongAn
d77b9b1209 include/nuttx/audio/audio.h: Add ioctl cmd 'AUDIOIOC_SETBUFFERINFO' so user space could config the buffer 2018-08-27 07:57:16 -06:00
ZhongAn
4d115e925f include/nuttx/audio/audio.h: Change member samp of apb to pointer so driver can customize sample buffer allocation 2018-08-27 07:45:27 -06:00
anchao
5f28be71e5 Kconfig: Move 'option modules' from NSH_FILE_APPS to BUILD_LOADABLE 2018-08-27 07:06:57 -06:00
zhuyanlin
7864ef1588 include/nuttx/nuttx.h: Added nuttx.h header file which is analogous to the linux.h header file. Currently, it contains on the defintion of the container_of() macro. 2018-08-27 06:52:02 -06:00
Xiang Xiao
894ca622e6 nclude/sys/types: Move wint_t and wctype_t from wchar.h to types.h. This change is compatible as before since wchar.h include types.h indirectly. This fixes a compilation error with newlib's math.h: 'unknown type name wint_t' 2018-08-27 06:26:37 -06:00
QianWenfa
e2e0911bc4 include/nuttx/mutex.h: Add inline wrapper functions to more clearly support semaphores when used as mutexs. 2018-08-27 06:26:11 -06:00
liuhaiyang
0c9a4ac4f9 nclude/nuttx/semaphore: apply the semaphore wait function nxsem_wait_uninterruptible(). The function nxsem_wait_uninterruptible() is a wrapped version of nxsem_wait(), which is uninterruptible and convenient for use. 2018-08-27 06:07:50 -06:00
Gregory Nutt
8980b08fae include/nuttx/semaphore.h: don't include nuttx/fs/fs.h. (1) Avoid nested loops if CONFIG_SIG_EVTHREAD enabled, (2) semaphore.h doesn't depends on fs.h. 2018-08-27 06:05:28 -06:00
Xiang Xiao
71ad1993f2 Move clock_timespec_[add|subtract] to include/nuttx/clock.h 2018-08-27 06:04:04 -06:00
dongjiuzhu
bd24562aa5 include/nuttx/i2c/i2c_master.h: Add the standard speed macros. 2018-08-27 06:02:13 -06:00
Xiang Xiao
05949ff79c include/spawn.h: Fix posix_spawnattr_destroy warning: 'the address of attr will always evaluate as true' 2018-08-27 06:00:33 -06:00
zhuguangqing
8780c51cb3 include/queue.h: Add dq_tail marco 2018-08-27 05:57:53 -06:00
zhuyanlin
57b91a8cfc include/nuttx/kmalloc.h: Add {kumm/kmm}_calloc API. Add calloc API for manage user memory and kernel memory in Flat Build/Kernel Build without kernel heap. 2018-08-27 05:55:09 -06:00
Xiang Xiao
439aac1449 include/nuttx/compiler.h: fix warning: __cplusplus is not defined. Some gcc derived compiler do not define __cplusplus 2018-08-27 05:53:16 -06:00
Xiang Xiao
c139478f60 nclude/nuttx/fs/binfs.h: Fix warning: Type defaults to 'int' in declaration of 'mountpt_operations' 2018-08-27 05:50:52 -06:00
Xiang Xiao
1d9546ac1b include/crc64.h: fix warning: integer constant is too large for its type 2018-08-27 05:47:59 -06:00
Gregory Nutt
05faba2514 include/nuttx/fs/fs.h: ... conflicting types for file_fstat(). 2018-08-26 16:13:09 -06:00
dongjianli
23f14c2660 net/usrsock: Add the listen/accept/getpeername/ioctl support 2018-08-26 15:15:48 -06:00
Xiang Xiao
4c61565bbc include/nuttx/net/ethernet.h: Remove CONFIG_NET_ETHERNET guard 2018-08-26 14:55:47 -06:00
dongjianli
b48804cfc2 net/netdev/netdev_ioctl.c: Add si_ioctl callback and net_ioctl_arglen so usrsock could forward the ioctl to the remote end 2018-08-26 14:54:26 -06:00
Xiang Xiao
3eedabfded net/socket/getsockname.c: Add psock_getsockname function 2018-08-26 14:43:13 -06:00
Xiang Xiao
bcf9360e5f Move psock check from [get|set]sockopt to psock_[get|set]sockopt 2018-08-26 14:25:54 -06:00
Gregory Nutt
655be281e6 include/nuttx/compiler.h, include/poll.h: Add logic to determine if the compiler supports anonymous structures and unions. 2018-08-26 14:20:58 -06:00
dongjianli
56883eef3b fs/vfs/fs_poll.c: Add poll use in kernel space. 2018-08-26 13:44:07 -06:00
Xiang Xiao
3f50451046 fs/vfs/fs_fcntl.c, net/socket/net_dupsd.c, and net/socket/net_vfcntl.c: Add file_fcntl, psock_fcntl, and psock_dupsd for use within the kernel. 2018-08-26 13:31:18 -06:00
ligd
aa52c457cc fs/vfs/fs_fstat.c: Add file_fstat() function for internal OS use. 2018-08-26 13:26:37 -06:00
Xiang Xiao
ead2c40cd4 Squashed commit of the following:
drivers/serial/uart_16550.c: Support 16550 auto hardware flow control

    drivers/serial/uart_16550.c:  Add configuration option CONFIG_16550_SUPRESS_INITIAL_CONFIG.  This is identical to the standard configuration in arch/Kconfig CONFIG_SUPPRESS_UART_CONFIG, but with scope of only the 16550 driver.
2018-08-26 11:37:16 -06:00
Xiang Xiao
46e47c8dcf Squashed commit of the following:
drivers/serial/uart_16550.c:  Add a configuration, analogous to the STM32 configuration option, to suppress the NuttX standard re-ordering for /dev/ttySN for special case of the 16550 UART.

    config/serial: UART 16550: Add CONFIG_SERIAL_UART_ARCH_MMIO option so the a memory mapped device doesn't need to provide uart_getreg() and uart_putreg() implementations.

    u16550_txempty() should check UART_LSR_TEMT to avoid some data left in the transmit FIFO
2018-08-26 11:17:33 -06:00
ligd
11f8dc735c Squashed commit of the following:
drivers/serial:  Add Ctrl-C/Ctrl-X support.  This is an initial working implementation that still requires that several details be resolved.

    sched/task/task_start.c: Add default signal action to SIGKILL.
2018-08-26 08:49:08 -06:00
xuanlin
7e63b0b288 sched/wqueue, libs/libc/wqueue, configs: Remove work queue polling delay to simplify the code logic and save the power. 2018-08-25 14:58:07 -06:00
ligd
631071cded Squashed commit of the following:
sched/wqueue:  Modify high priority work queue to support multiple threads.

    sched/wqueue and libs/libc/wqueue:  workqueues don't need set global data to zero since .bss is cleared automatically.  Removing this unnecessary initialization also avoids the loss the work items queued before initialization.
2018-08-25 14:52:13 -06:00
Gregory Nutt
3f1869ea9d Rename CONFIG_ARCH_HAVE_TRIGGER_HOOK to CONFIG_ARCH_HAVE_IRQTRIGGER 2018-08-25 09:10:30 -06:00
Gregory Nutt
9bc951a335 Rename devif_loopback_out to devi_loopback 2018-08-25 08:33:21 -06:00
DisruptiveNL
cd2ced4d9a drivers/sensors and configs/nucleo-l476g: Add support for LSM303AGR and LSM6DSL sensors 2018-08-25 08:19:31 -06:00
Gregory Nutt
3bf96c8e7e net/arp: Improve arp_find() commit 9774d35010 to reduce the amount and frequency of data copies. 2018-08-25 07:12:21 -06:00
zhuguangqing
d38be46655 sched/irq: Add support interrupt chains in NuttX. IRQ chain is very useful in these cases: (1) Multiple hardware connect to the same request line(e.g. PCI), (2) Need multiple driver to support one hardware block (like Linux MFD) 2018-08-24 15:10:23 -06:00
Xiang Xiao
149748e4ed drivers/net: drivers/net: Add support for Microchip LAN91C111 driver 2018-08-24 11:07:07 -06:00
Xiang Xiao
fc194cf2ec drivers/timers: Add a new method to the struct oneshot_operations_s interface to get the current time from a oneshot timer driver (if it is available from the lower half) 2018-08-24 10:21:29 -06:00
Xiang Xiao
a6c68d233d drivers/timers: Add maxtimeout method to the struct timer_ops_s interface 2018-08-24 10:16:17 -06:00
Xiang Xiao
3af35699b9 include/nuttx/clock.h, sched/sched: Support the CPU load measurement using timer_lowerhalf_s interface 2018-08-24 10:10:57 -06:00
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
ligd
fb90f821fb include/nuttx/arch.h: Add architecture-specific prototypes for conversions between physical and virtual address. 2018-08-24 08:40:45 -06:00