Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * linux/include/asm-arm/arch-sa1100/uncompress.h
  3  *
  4  * (C) 1999 Nicolas Pitre <nico@cam.org>
  5  *
  6  * Reorganised to be machine independent.
  7  */
  8 
  9 #include "hardware.h"
 10 
 11 /*
 12  * The following code assumes the serial port has already been
 13  * initialized by the bootloader.  We search for the first enabled
 14  * port in the most probable order.  If you didn't setup a port in
 15  * your bootloader then nothing will appear (which might be desired).
 16  */
 17 
 18 #define UART(x)         (*(volatile unsigned long *)(serial_port + (x)))
 19 
 20 static void putc(int c)
 21 {
 22         unsigned long serial_port;
 23 
 24         do {
 25                 serial_port = _Ser3UTCR0;
 26                 if (UART(UTCR3) & UTCR3_TXE) break;
 27                 serial_port = _Ser1UTCR0;
 28                 if (UART(UTCR3) & UTCR3_TXE) break;
 29                 serial_port = _Ser2UTCR0;
 30                 if (UART(UTCR3) & UTCR3_TXE) break;
 31                 return;
 32         } while (0);
 33 
 34         /* wait for space in the UART's transmitter */
 35         while (!(UART(UTSR1) & UTSR1_TNF))
 36                 barrier();
 37 
 38         /* send the character out. */
 39         UART(UTDR) = c;
 40 }
 41 
 42 static inline void flush(void)
 43 {
 44 }
 45 
 46 /*
 47  * Nothing to do for these
 48  */
 49 #define arch_decomp_setup()
 50 #define arch_decomp_wdog()
 51 
  This page was automatically generated by the LXR engine.