X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fser_at91.c;h=c3c897cd1ec7e4100c66c5781f7b8b8ab35fd035;hb=531b8fef8fb5921071f879b682c0bf90f82f5224;hp=6726f21039d4747c764283d0be1bfcbb7305a327;hpb=df94a4b7d8102b20810f889fbc926ac4823b61d9;p=bertos.git diff --git a/bertos/cpu/arm/drv/ser_at91.c b/bertos/cpu/arm/drv/ser_at91.c index 6726f210..c3c897cd 100644 --- a/bertos/cpu/arm/drv/ser_at91.c +++ b/bertos/cpu/arm/drv/ser_at91.c @@ -52,7 +52,7 @@ #include #include -#include +#include #define SERIRQ_PRIORITY 4 ///< default priority for serial irqs. @@ -258,12 +258,6 @@ struct ArmSerial volatile bool sending; }; - - -#if CPU_ARM_AT91SAM7X128 || CPU_ARM_AT91SAM7X256 -struct Serial *ser_spi1 = &ser_handles[SER_SPI1]; -#endif - static void uart0_irq_dispatcher(void); static void uart1_irq_dispatcher(void); static void spi0_irq_handler(void); @@ -523,7 +517,7 @@ static void spi0_starttx(struct SerialHardware *_hw) { struct ArmSerial *hw = (struct ArmSerial *)_hw; - cpuflags_t flags; + cpu_flags_t flags; IRQ_SAVE_DISABLE(flags); /* Send data only if the SPI is not already transmitting */ @@ -607,14 +601,14 @@ static void spi1_starttx(struct SerialHardware *_hw) { struct ArmSerial *hw = (struct ArmSerial *)_hw; - cpuflags_t flags; + cpu_flags_t flags; IRQ_SAVE_DISABLE(flags); /* Send data only if the SPI is not already transmitting */ - if (!hw->sending && !fifo_isempty(&ser_spi1->txfifo)) + if (!hw->sending && !fifo_isempty(&ser_handles[SER_SPI1]->txfifo)) { hw->sending = true; - SPI1_TDR = fifo_pop(&ser_spi1->txfifo); + SPI1_TDR = fifo_pop(&ser_handles[SER_SPI1]->txfifo); } IRQ_RESTORE(flags); @@ -920,17 +914,17 @@ static void spi1_irq_handler(void) char c = SPI1_RDR; /* Read incoming byte. */ - if (!fifo_isfull(&ser_spi1->rxfifo)) - fifo_push(&ser_spi1->rxfifo, c); + if (!fifo_isfull(&ser_handles[SER_SPI1]->rxfifo)) + fifo_push(&ser_handles[SER_SPI1]->rxfifo, c); /* * FIXME else - ser_spi1->status |= SERRF_RXFIFOOVERRUN; + ser_handles[SER_SPI1]->status |= SERRF_RXFIFOOVERRUN; */ /* Send */ - if (!fifo_isempty(&ser_spi1->txfifo)) - SPI1_TDR = fifo_pop(&ser_spi1->txfifo); + if (!fifo_isempty(&ser_handles[SER_SPI1]->txfifo)) + SPI1_TDR = fifo_pop(&ser_handles[SER_SPI1]->txfifo); else UARTDescs[SER_SPI1].sending = false;