From 11215c3bcb0b0cbe5794cfc92d0c20de6c8696d9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 22 Jan 2010 14:51:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1539 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/templates/serial_lld.c | 4 ++-- os/hal/templates/serial_lld.h | 55 ++++++++++++++----------------------------- 2 files changed, 20 insertions(+), 39 deletions(-) (limited to 'os/hal/templates') diff --git a/os/hal/templates/serial_lld.c b/os/hal/templates/serial_lld.c index cd155f210..1c95f7422 100644 --- a/os/hal/templates/serial_lld.c +++ b/os/hal/templates/serial_lld.c @@ -67,8 +67,8 @@ void sd_lld_init(void) { */ void sd_lld_start(SerialDriver *sdp) { - if (sdp->sd.config == NULL) - sdp->sd.config = &default_config; + if (sdp->config == NULL) + sdp->config = &default_config; } diff --git a/os/hal/templates/serial_lld.h b/os/hal/templates/serial_lld.h index 2a54fd56d..47989e211 100644 --- a/os/hal/templates/serial_lld.h +++ b/os/hal/templates/serial_lld.h @@ -66,44 +66,25 @@ typedef struct { /** * @brief @p SerialDriver specific data. */ -struct _serial_driver_data { - /** - * @brief Driver state. - */ - sdstate_t state; - /** - * @brief Current configuration data. - */ - const SerialConfig *config; - /** - * @brief Input queue, incoming data can be read from this input queue by - * using the queues APIs. - */ - InputQueue iqueue; - /** - * @brief Output queue, outgoing data can be written to this output queue by - * using the queues APIs. - */ - OutputQueue oqueue; - /** - * @brief Status Change @p EventSource. This event is generated when one or - * more condition flags change. - */ - EventSource sevent; - /** - * @brief I/O driver status flags. - */ - sdflags_t flags; - /** - * @brief Input circular buffer. - */ - uint8_t ib[SERIAL_BUFFERS_SIZE]; - /** - * @brief Output circular buffer. - */ - uint8_t ob[SERIAL_BUFFERS_SIZE]; +#define _serial_driver_data \ + _base_asynchronous_channel_data; \ + /* Driver state.*/ \ + sdstate_t state; \ + /* Current configuration data.*/ \ + const SerialConfig *config; \ + /* Input queue.*/ \ + InputQueue iqueue; \ + /* Output queue.*/ \ + OutputQueue oqueue; \ + /* Status Change @p EventSource.*/ \ + EventSource sevent; \ + /* I/O driver status flags.*/ \ + sdflags_t flags; \ + /* Input circular buffer.*/ \ + uint8_t ib[SERIAL_BUFFERS_SIZE]; \ + /* Output circular buffer.*/ \ + uint8_t ob[SERIAL_BUFFERS_SIZE]; \ /* End of the mandatory fields.*/ -}; /*===========================================================================*/ /* Driver macros. */ -- cgit v1.2.3