[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.5 and 1.6

version 1.5, 2007/10/16 19:55:30 version 1.6, 2007/10/16 20:05:57
Line 13 
Line 13 
  * 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.
  */   */
 uint8_t         obio_read_1(struct device *, uint32_t);  int obio_attach(struct device *, uint32_t, uint8_t);
 uint16_t        obio_read_2(struct device *, uint32_t);  
 uint32_t        obio_read_4(struct device *, uint32_t);  
 int             obio_write_1(struct device *, uint32_t, uint8_t);  
 int             obio_write_2(struct device *, uint32_t, uint16_t);  
 int             obio_write_4(struct device *, uint32_t, uint32_t);  
   
   uint8_t         obio_read_1(void *, uint32_t);
   uint16_t        obio_read_2(void *, uint32_t);
   uint32_t        obio_read_4(void *, uint32_t);
   int             obio_write_1(void *, uint32_t, uint8_t);
   int             obio_write_2(void *, uint32_t, uint16_t);
   int             obio_write_4(void *, uint32_t, uint32_t);
   
   
 struct driver obio_dr = {  struct driver obio_dr = {
         sizeof(struct obio_dd),          sizeof(struct obio_dd),
         obio_attach,          obio_attach,
         obio_detach          NULL
 };  };
   
   
Line 32 
Line 34 
 obio_attach(struct device *self, uint32_t loc, uint8_t flags)  obio_attach(struct device *self, uint32_t loc, uint8_t flags)
 {  {
         struct obio_dd *ddp = self->dv_devdata;          struct obio_dd *ddp = self->dv_devdata;
         struct bus_handle *bhp = ddp->od_bh;          struct bus_handle *bhp = &ddp->od_bh;
   
         ddp->od_locked = 0;          ddp->od_locked = 0;
         ddp->od_ndevices = 0;          ddp->od_ndevices = 0;
Line 54 
Line 56 
   
   
 uint8_t  uint8_t
 obio_read_1(struct obio_dd *ddp, uint32_t addr)  obio_read_1(void *ddp, uint32_t addr)
 {  {
         /*          /*
          * There is only one on-board i/o bus in testarm.           * There is only one on-board i/o bus in testarm.
Line 64 
Line 66 
   
   
 uint16_t  uint16_t
 obio_read_2(struct obio_dd *ddp, uint32_t addr)  obio_read_2(void *ddp, uint32_t addr)
 {  {
         return( (*(uint16_t *)addr) );          return( (*(uint16_t *)addr) );
 }  }
   
   
 uint32_t  uint32_t
 obio_read_4(struct obio_dd *ddp, uint32_t addr)  obio_read_4(void *ddp, uint32_t addr)
 {  {
         return( (*(uint32_t *)addr) );          return( (*(uint32_t *)addr) );
 }  }
   
   
 int  int
 obio_write_1(struct obio_dd *ddp, uint32_t addr, uint8_t data)  obio_write_1(void *ddp, uint32_t addr, uint8_t data)
 {  {
         *((uint8_t *)addr) = data;          *((uint8_t *)addr) = data;
   
Line 88 
Line 90 
   
   
 int  int
 obio_write_2(struct obio_dd *ddp, uint32_t addr, uint16_t data)  obio_write_2(void *ddp, uint32_t addr, uint16_t data)
 {  {
         *((uint16_t *)addr) = data;          *((uint16_t *)addr) = data;
   
Line 97 
Line 99 
   
   
 int  int
 obio_write_4(struct obio_dd *ddp, uint32_t addr, uint32_t data)  obio_write_4(void *ddp, uint32_t addr, uint32_t data)
 {  {
         *((uint32_t *)addr) = data;          *((uint32_t *)addr) = data;
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

CVSweb