zephyr/misc
Marcus Shawcroft 1bc999cb8d drivers/uart: Refactor UART input hook.
This refactor is in preparation for making driver API structures
const.

The console driver provides a mechanism to install an input and an
output hook function.  These are primarily used by the onboard
gdb-server.  The output hook is entirely implemented within the
console driver.

The input hook is partially implemented in the top of the uart driver
and within the console driver.  The hook function itself is installed
in the uart API structure, but is invoked only by the console driver.

Installing the hook function directly into the uart API structure
prevents the API structure being const.  There are two approaches to
fixing this:

1) Implement setting of the input hook in the same way as
uart_irq_callback_set().

2) Move the input hook entirely to the console driver.

We implement the latter.  This approach has two benefits, first it
removes the need for every uart driver to implement the behaviour and
second, the current placement of the callback function in the uart API
seems odd given that the callback is only invoked by the console
driver, never by a uart driver.

Change-Id: I258b312d3055df1c2bdeb896bd4f4f39c40838f7
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-10-25 11:31:08 +00:00
..
debug drivers/uart: Refactor UART input hook. 2016-10-25 11:31:08 +00:00
generated unified/build: allow building the unified kernel 2016-09-13 17:12:55 -04:00
Kconfig arduino 101: make factory bootloader config the default 2016-09-17 11:13:59 +00:00
Makefile kernel: Relocate ring buffer suppport to 'misc' directory 2016-10-21 15:33:31 +00:00
cpp_ctors.c build: Add C++ support 2016-02-05 20:25:23 -05:00
cpp_dtors.c build: Add C++ support 2016-02-05 20:25:23 -05:00
cpp_init_array.c build: Add C++ support 2016-02-05 20:25:23 -05:00
cpp_virtual.c build: Add C++ support 2016-02-05 20:25:23 -05:00
cpp_vtable.cpp build: Add C++ support 2016-02-05 20:25:23 -05:00
printk.c printk: make _char_out globally accessible 2016-08-28 07:47:28 -04:00
reboot.c reboot: add reboot infrastructure 2016-02-05 20:24:43 -05:00
ring_buffer.c kernel: Relocate ring buffer suppport to 'misc' directory 2016-10-21 15:33:31 +00:00