Mercurial > ecos
changeset 2159:90fe3e2dc215
* src/hal_diag.c (cyg_hal_plf_serial_isr): Change the #ifdefs to
cleanly match the CDL.
| author | asl |
|---|---|
| date | Mon, 13 Mar 2006 07:47:23 +0000 |
| parents | b2eee5fc1db7 |
| children | 34ebb920ba9b |
| files | packages/hal/arm/at91/var/current/ChangeLog packages/hal/arm/at91/var/current/src/hal_diag.c |
| diffstat | 2 files changed, 18 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/at91/var/current/ChangeLog +++ b/packages/hal/arm/at91/var/current/ChangeLog @@ -1,3 +1,8 @@ +2006-03-10 Oliver Munz <munz@speag.ch> + + * src/hal_diag.c (cyg_hal_plf_serial_isr): Change the #ifdefs to + cleanly match the CDL. + 2006-02-28 Andrew Lunn <andrew.lunn@ascom.ch> Oliver Munz <munz@speag.ch>
--- a/packages/hal/arm/at91/var/current/src/hal_diag.c +++ b/packages/hal/arm/at91/var/current/src/hal_diag.c @@ -269,12 +269,16 @@ cyg_hal_plf_serial_isr(void *__ch_data, return res; } -static channel_data_t at91_ser_channels[3] = { +static channel_data_t at91_ser_channels[CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS] = { +#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 0 { (cyg_uint8*)AT91_USART0, 1000, CYGNUM_HAL_INTERRUPT_USART0, CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD}, +#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1 { (cyg_uint8*)AT91_USART1, 1000, CYGNUM_HAL_INTERRUPT_USART1, CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD}, -#ifdef AT91_USART2 +#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 2 { (cyg_uint8*)AT91_USART2, 1000, CYGNUM_HAL_INTERRUPT_USART2, CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD} #endif +#endif +#endif }; static void @@ -286,16 +290,19 @@ cyg_hal_plf_serial_init(void) cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); // Init channels +#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 0 cyg_hal_plf_serial_init_channel(&at91_ser_channels[0]); #if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1 cyg_hal_plf_serial_init_channel(&at91_ser_channels[1]); -#endif #if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 2 cyg_hal_plf_serial_init_channel(&at91_ser_channels[2]); #endif +#endif +#endif // Setup procs in the vector table // Set channel 0 +#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 0 CYGACC_CALL_IF_SET_CONSOLE_COMM(0); comm = CYGACC_CALL_IF_CONSOLE_PROCS(); CYGACC_COMM_IF_CH_DATA_SET(*comm, &at91_ser_channels[0]); @@ -319,7 +326,7 @@ cyg_hal_plf_serial_init(void) CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control); CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr); CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout); -#endif + #if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 2 CYGACC_CALL_IF_SET_CONSOLE_COMM(2); comm = CYGACC_CALL_IF_CONSOLE_PROCS(); @@ -332,6 +339,8 @@ cyg_hal_plf_serial_init(void) CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr); CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout); #endif +#endif +#endif // Restore original console CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
