diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2010-04-09 20:24:57 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2010-04-09 20:24:57 +0000 |
commit | c193baadaf4ba825374104b150eceaed203800b0 (patch) | |
tree | 6933fe6b62789da022c05b5400f36cd2d7b80a57 /c/src/lib/libbsp/arm/shared/lpc | |
parent | removed over-paranoid warning switches (diff) | |
download | rtems-c193baadaf4ba825374104b150eceaed203800b0.tar.bz2 |
unify irq data types and code, merge s3c2400/s3c2410 support
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/lpc')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c | 29 |
2 files changed, 20 insertions, 15 deletions
diff --git a/c/src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c b/c/src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c index 1fa80409df..ee28b5af90 100644 --- a/c/src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c +++ b/c/src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c @@ -112,7 +112,11 @@ static uint32_t lpc_clock_nanoseconds_since_last_tick(void) #define Clock_driver_support_at_tick() lpc_clock_at_tick() #define Clock_driver_support_initialize_hardware() lpc_clock_initialize() #define Clock_driver_support_install_isr(isr, old_isr) \ - lpc_clock_handler_install() + do { \ + lpc_clock_handler_install(); \ + old_isr = NULL; \ + } while (0) + #define Clock_driver_support_shutdown_hardware() lpc_clock_cleanup() #define Clock_driver_nanoseconds_since_last_tick \ lpc_clock_nanoseconds_since_last_tick diff --git a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c index f0a354bea3..51dc21c82f 100644 --- a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c +++ b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c @@ -467,7 +467,8 @@ static bool lpc_eth_add_new_mbuf( | ETH_RX_CTRL_INTERRUPT; /* Cache flush of descriptor */ - rtems_cache_flush_multiple_data_lines(&desc [i], sizeof(desc [0])); + rtems_cache_flush_multiple_data_lines((void *)&desc [i], + sizeof(desc [0])); /* Add mbuf to table */ mbufs [i] = m; @@ -580,10 +581,10 @@ static void lpc_eth_receive_task(void *arg) struct mbuf *m = mbufs [receive_index]; /* Fragment status */ - rtems_cache_invalidate_multiple_data_lines( - &status [receive_index], - sizeof(status [0]) - ); + rtems_cache_invalidate_multiple_data_lines + ((void *)&status [receive_index], + sizeof(status [0]) + ); stat = status [receive_index].info; /* Remove mbuf from table */ @@ -908,10 +909,10 @@ static void lpc_eth_transmit_task(void *arg) ); desc [produce_index].start = mtod(m, uint32_t); desc [produce_index].control = ctrl; - rtems_cache_flush_multiple_data_lines( - &desc [produce_index], - sizeof(desc [0]) - ); + rtems_cache_flush_multiple_data_lines + ((void *)&desc [produce_index], + sizeof(desc [0]) + ); mbufs [produce_index] = m; LPC_ETH_PRINTF( @@ -966,7 +967,7 @@ static void lpc_eth_transmit_task(void *arg) if ((ctrl & ETH_TX_CTRL_LAST) != 0) { /* Finalize descriptor */ - desc [produce_index].control = ctrl & ~ETH_TX_CTRL_SIZE_MASK + desc [produce_index].control = (ctrl & ~ETH_TX_CTRL_SIZE_MASK) | (new_frame_length - 1); LPC_ETH_PRINTF( @@ -982,10 +983,10 @@ static void lpc_eth_transmit_task(void *arg) ); /* Cache flush of descriptor */ - rtems_cache_flush_multiple_data_lines( - &desc [produce_index], - sizeof(desc [0]) - ); + rtems_cache_flush_multiple_data_lines + ((void *)&desc [produce_index], + sizeof(desc [0]) + ); /* Next produce index */ produce_index = p; |