[BACK]Return to obio.c CVS log [TXT][DIR] Up to [local] / funnyos / arch / testarm / dev

Diff for /funnyos/arch/testarm/dev/obio.c between version 1.7 and 1.11

version 1.7, 2007/10/16 21:01:40 version 1.11, 2007/10/29 21:10:03
Line 9 
Line 9 
 #include <arch/testarm/dev/obiovar.h>  #include <arch/testarm/dev/obiovar.h>
 #include <libkern/printf.h>  #include <libkern/printf.h>
   
   /* #define OBIO_DEBUG */
   
   #ifdef OBIO_DEBUG
   #define DPRINTF(x...)   do { printf(x); } while (0)
   #else
   #define DPRINTF(x...)   { }
   #endif
   
 /*  /*
  * testarm obio (on-board i/o) support.   * testarm obio (on-board i/o) support.
  * This is a simple memory read/writes.   * This is a simple memory read/writes.
Line 26 
Line 34 
 struct driver obio_dr = {  struct driver obio_dr = {
         sizeof(struct obio_dd),          sizeof(struct obio_dd),
         obio_attach,          obio_attach,
           NULL,
         NULL          NULL
 };  };
   
Line 45 
Line 54 
         bhp->bus_write_1 = obio_write_1;          bhp->bus_write_1 = obio_write_1;
         bhp->bus_write_2 = obio_write_2;          bhp->bus_write_2 = obio_write_2;
         bhp->bus_write_4 = obio_write_4;          bhp->bus_write_4 = obio_write_4;
         bhp->dh_ownerdevp = self;       /* XXX UGLY bus_{read|write} stuff will access bus device from bus_handle using this */          bhp->bh_ownerdd = self->dv_devdata;     /* XXX UGLY bus_{read|write} stuff will access bus device from bus_handle using this */
   
         /* expose our bus_handle to the world */          /* expose our bus_handle to the world */
         self->dv_aux = bhp;          self->dv_aux = bhp;
Line 62 
Line 71 
         /*          /*
          * There is only one on-board i/o bus in testarm.           * There is only one on-board i/o bus in testarm.
          */           */
           DPRINTF("obio_read_1: read @0x%x\n", addr);
         return( (*(uint8_t *)addr) );          return( (*(uint8_t *)addr) );
 }  }
   
Line 69 
Line 79 
 uint16_t  uint16_t
 obio_read_2(void *ddp, uint32_t addr)  obio_read_2(void *ddp, uint32_t addr)
 {  {
           DPRINTF("obio_read_2: read @0x%x\n", addr);
         return( (*(uint16_t *)addr) );          return( (*(uint16_t *)addr) );
 }  }
   
Line 76 
Line 87 
 uint32_t  uint32_t
 obio_read_4(void *ddp, uint32_t addr)  obio_read_4(void *ddp, uint32_t addr)
 {  {
           DPRINTF("obio_read_4: read @0x%x\n", addr);
         return( (*(uint32_t *)addr) );          return( (*(uint32_t *)addr) );
 }  }
   
Line 83 
Line 95 
 int  int
 obio_write_1(void *ddp, uint32_t addr, uint8_t data)  obio_write_1(void *ddp, uint32_t addr, uint8_t data)
 {  {
           DPRINTF("obio_write_1: write @0x%x data %d\n", addr, data);
   
         *((uint8_t *)addr) = data;          *((uint8_t *)addr) = data;
   
         /* XXX what about write errors? */          /* XXX what about write errors? */
Line 93 
Line 107 
 int  int
 obio_write_2(void *ddp, uint32_t addr, uint16_t data)  obio_write_2(void *ddp, uint32_t addr, uint16_t data)
 {  {
           DPRINTF("obio_write_2: write @0x%x data %d\n", addr, data);
   
         *((uint16_t *)addr) = data;          *((uint16_t *)addr) = data;
   
         return(0);          return(0);
Line 102 
Line 118 
 int  int
 obio_write_4(void *ddp, uint32_t addr, uint32_t data)  obio_write_4(void *ddp, uint32_t addr, uint32_t data)
 {  {
           DPRINTF("obio_write_4: write @0x%x data %d\n", addr, data);
   
         *((uint32_t *)addr) = data;          *((uint32_t *)addr) = data;
   
         return(0);          return(0);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

CVSweb