zephyr/include
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
..
arch unified/arc: add memory pools support for ARC architecture 2016-10-22 01:27:01 +00:00
bluetooth Bluetooth: SDP: Shorten Service Class macro name 2016-10-21 07:47:31 +03:00
display drivers: Replace DEV_OK by 0 2016-03-16 19:30:04 -04:00
drivers drivers/uart: Refactor UART input hook. 2016-10-25 11:31:08 +00:00
fs fs: Adds the glue layer for the Fat FS module 2016-08-01 16:47:33 -07:00
microkernel kernel: Fix to DEFINE_TASK() macro 2016-10-11 09:54:44 -05:00
misc unified/doc: Update ring buffers section of Kernel Primer 2016-10-21 15:33:31 +00:00
net Revert "net: fetch valid conn. to determine MSS in data_is_sent_and_acked()" 2016-10-14 07:12:06 +00:00
toolchain kernel: Add __unused tag 2016-10-03 20:22:05 +00:00
usb usb: Add Bluetooth class codes definitions 2016-08-10 15:27:35 +00:00
adc.h drivers/adc: Make references to driver_api const 2016-10-24 22:22:20 +00:00
aio_comparator.h drivers/aio_comparator: Make references to driver_api const 2016-10-24 22:22:20 +00:00
atomic.h atomic: fix bug in ATOMIC_INIT() 2016-09-13 17:12:55 -04:00
cache.h cache: add implementation for cache-less systems 2016-02-05 20:25:24 -05:00
clock_control.h drivers/clock_control: Make references to driver_api const 2016-10-24 22:22:21 +00:00
counter.h drivers/counter: Make references to driver_api const 2016-10-24 22:22:21 +00:00
device.h device_pm: Update control function name and doc to indicate PM specific 2016-10-21 23:32:52 +00:00
dma.h drivers/dma: Make references to driver_api const 2016-10-24 22:22:22 +00:00
eth.h drivers/eth: Make references to driver_api const 2016-10-24 22:22:22 +00:00
flash.h drivers/flash: Make references to driver_api const 2016-10-24 22:22:26 +00:00
fs.h fs: Fixes some type incompatibilities flagged by llvm 2016-10-04 00:19:22 -07:00
gpio.h drivers/gpio: Make references to driver_api const 2016-10-24 22:22:26 +00:00
i2c.h drivers/i2c: Make references to driver_api const 2016-10-24 22:22:25 +00:00
init.h device_pm: Update control function name and doc to indicate PM specific 2016-10-21 23:32:52 +00:00
ipm.h drivers/ipm: Make references to driver_api const 2016-10-24 22:22:25 +00:00
irq_offload.h doc: Fix misuse of @file doxygen tag 2016-02-11 20:11:03 +00:00
irq.h irq: Add irq_is_enabled external interrupt API 2016-09-20 19:45:12 +00:00
kernel_version.h kernel: Allow SYS_KERNEL_VER_MAJOR(), etc. return full range of values. 2016-10-22 10:04:00 +00:00
kernel.h unified: Support heap memory pool 2016-10-25 00:10:34 +00:00
legacy.h unified: Eliminate thread config structure used by work queues 2016-10-25 00:10:34 +00:00
linker-defs.h x86: remove unused linker-defs-arch.h 2016-10-21 23:30:05 +00:00
linker-tool-gcc.h x86 link: Specify ALIGN_WITH_INPUT for XIP data sections 2016-10-01 01:41:50 +00:00
linker-tool.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
microkernel.h unified: include kernel.h via major top-level header files 2016-09-13 17:12:55 -04:00
nanokernel.h nanokernel: Add nano_sem_count_get for getting nano_sem count 2016-10-21 13:30:39 +00:00
pinmux.h drivers/pinmux: Make references to driver_api const 2016-10-24 22:22:24 +00:00
power.h power_mgmt: Reduce complexity in handling of power hooks 2016-10-05 10:05:42 +00:00
pwm.h drivers/pwm: Make references to driver_api const 2016-10-24 22:22:24 +00:00
rtc.h drivers/rtc: Make references to driver_api const 2016-10-24 22:22:24 +00:00
section_tags.h ARM: ARC: put sw_isr_table in ROM by default 2016-02-05 20:25:21 -05:00
sections.h ARM: ARC: put sw_isr_table in ROM by default 2016-02-05 20:25:21 -05:00
sensor.h drivers/sensor: Make references to driver_api const 2016-10-24 22:22:23 +00:00
shared_irq.h drivers/shared_irq: Make references to driver_api const 2016-10-24 22:22:23 +00:00
spi.h drivers/spi: Make references to driver_api const 2016-10-24 22:22:20 +00:00
sw_isr_table.h nios2: add static interrupt handling code 2016-06-22 16:42:21 +00:00
sys_clock.h sys_clock: Add a helper to compute micro seconds 2016-04-07 16:51:07 +00:00
sys_io.h sys_io: don't allow negative bit offsets 2016-03-04 16:26:21 +00:00
toolchain.h doc: revert unnamed union/struct workaround in favour of known-issues 2016-07-01 21:53:45 +00:00
uart.h drivers/uart: Refactor UART input hook. 2016-10-25 11:31:08 +00:00
watchdog.h drivers/watchdog: Make references to driver_api const. 2016-10-24 22:22:19 +00:00
zephyr.h unified: include kernel.h via major top-level header files 2016-09-13 17:12:55 -04:00