unican specific readw and writew
authorwentasah <wentasah>
Mon, 26 Apr 2004 19:37:55 +0000 (19:37 +0000)
committerwentasah <wentasah>
Mon, 26 Apr 2004 19:37:55 +0000 (19:37 +0000)
lincan/include/unican_types.h
lincan/src/unican.c

index 3e330b8..5fd58a6 100644 (file)
@@ -22,4 +22,7 @@
 #define TRUE  1
 #endif
 
 #define TRUE  1
 #endif
 
+#define unican_readw(addr) readw(addr)
+#define unican_writew(v, addr) writew(v, addr)
+
 #endif /*_UNICAN_TYPES_H*/
 #endif /*_UNICAN_TYPES_H*/
index 5cab054..2347a67 100644 (file)
@@ -193,14 +193,14 @@ void unican_read(struct chip_t *chip, struct msgobj_t *obj) {
 
        do {
                ptr16 = (__u16*)chipext->rxBufPtr;
 
        do {
                ptr16 = (__u16*)chipext->rxBufPtr;
-               u = readw(ptr16++);
+               u = unican_readw(ptr16++);
                if ( !(u & CL2_MESSAGE_VALID) ) break; /* No more messages in the queue */
 
                obj->rx_msg.id = ((__u32)(u & 0xFF00 )) << 16;
                if ( !(u & CL2_MESSAGE_VALID) ) break; /* No more messages in the queue */
 
                obj->rx_msg.id = ((__u32)(u & 0xFF00 )) << 16;
-               u = readw(ptr16++);
+               u = unican_readw(ptr16++);
                obj->rx_msg.id |= ((__u32)( u & 0x00FF )) << 16;
                obj->rx_msg.id |= (__u32)( u & 0xFF00 );
                obj->rx_msg.id |= ((__u32)( u & 0x00FF )) << 16;
                obj->rx_msg.id |= (__u32)( u & 0xFF00 );
-               u = readw(ptr16++);
+               u = unican_readw(ptr16++);
                obj->rx_msg.id |= (__u32)( u & 0x00FF );
 
 
                obj->rx_msg.id |= (__u32)( u & 0x00FF );
 
 
@@ -221,17 +221,17 @@ void unican_read(struct chip_t *chip, struct msgobj_t *obj) {
                if(obj->rx_msg.length > CAN_MSG_LENGTH) obj->rx_msg.length = CAN_MSG_LENGTH;
 
                for ( i = 0; i < obj->rx_msg.length; ) {
                if(obj->rx_msg.length > CAN_MSG_LENGTH) obj->rx_msg.length = CAN_MSG_LENGTH;
 
                for ( i = 0; i < obj->rx_msg.length; ) {
-                       u = readw(ptr16++);
+                       u = unican_readw(ptr16++);
                        obj->rx_msg.data[i++] = (__u8)( u );
                        obj->rx_msg.data[i++] = (__u8)( u >> 8 );
                }
                if ( obj->rx_msg.length & 0x01 ) {      /* odd */
                        obj->rx_msg.data[i++] = (__u8)( u );
                        obj->rx_msg.data[i++] = (__u8)( u >> 8 );
                }
                if ( obj->rx_msg.length & 0x01 ) {      /* odd */
-                       timestamp = ( (readw(ptr16++) & 0x00FF) | (u & 0xFF00) );
+                       timestamp = ( (unican_readw(ptr16++) & 0x00FF) | (u & 0xFF00) );
                } else {                                /* even */
                } else {                                /* even */
-                       u = readw(ptr16++);
+                       u = unican_readw(ptr16++);
                        timestamp = (u << 8) | (u >> 8);
                }
                        timestamp = (u << 8) | (u >> 8);
                }
-               writew(0x000,(__u16*)chipext->rxBufPtr);
+               unican_writew(0x000,(__u16*)chipext->rxBufPtr);
 
               #ifdef CAN_MSG_VERSION_2
                obj->rx_msg.timestamp.tv_sec = 0;
 
               #ifdef CAN_MSG_VERSION_2
                obj->rx_msg.timestamp.tv_sec = 0;
@@ -460,7 +460,7 @@ void unican_irq_write_handler(struct chip_t *chip, struct msgobj_t *obj)
 
        do {
                ptr16 = (__u16*)chipext->asyncTxBufPtr;
 
        do {
                ptr16 = (__u16*)chipext->asyncTxBufPtr;
-               if(readw(ptr16) & CL2_MESSAGE_VALID)
+               if(unican_readw(ptr16) & CL2_MESSAGE_VALID)
                        return;         /* No free space in asynchronous Tx queue */
 
                cmd=canque_test_outslot(obj->qends, &obj->tx_qedge, &obj->tx_slot);
                        return;         /* No free space in asynchronous Tx queue */
 
                cmd=canque_test_outslot(obj->qends, &obj->tx_qedge, &obj->tx_slot);
@@ -477,7 +477,7 @@ void unican_irq_write_handler(struct chip_t *chip, struct msgobj_t *obj)
                }
                ptr16++;
                u = ((cobid>>16) & 0x00FF ) + (cobid & 0xFF00);
                }
                ptr16++;
                u = ((cobid>>16) & 0x00FF ) + (cobid & 0xFF00);
-               writew(u,ptr16++);
+               unican_writew(u,ptr16++);
 
                len = obj->tx_slot->msg.length;
                if(len > CAN_MSG_LENGTH)
 
                len = obj->tx_slot->msg.length;
                if(len > CAN_MSG_LENGTH)
@@ -489,24 +489,24 @@ void unican_irq_write_handler(struct chip_t *chip, struct msgobj_t *obj)
                if ( obj->tx_slot->msg.flags & MSG_EXT ) 
                        u |= CL2_EXT_FRAME<<8;
 
                if ( obj->tx_slot->msg.flags & MSG_EXT ) 
                        u |= CL2_EXT_FRAME<<8;
 
-               writew(u,ptr16++);
+               unican_writew(u,ptr16++);
 
                for ( i = 0; i < len-1; )       {
                        u = obj->tx_slot->msg.data[i++];
                        u |= ((__u16)obj->tx_slot->msg.data[i]<<8); i++;
 
                for ( i = 0; i < len-1; )       {
                        u = obj->tx_slot->msg.data[i++];
                        u |= ((__u16)obj->tx_slot->msg.data[i]<<8); i++;
-                       writew(u,ptr16++);
+                       unican_writew(u,ptr16++);
                }
                if(i == len) {
                }
                if(i == len) {
-                       writew(timestamp,ptr16);
+                       unican_writew(timestamp,ptr16);
                } else {
                        u = obj->tx_slot->msg.data[i++];
                        u |= ((timestamp & 0x00FF)<<8);
                } else {
                        u = obj->tx_slot->msg.data[i++];
                        u |= ((timestamp & 0x00FF)<<8);
-                       writew(u,ptr16++);
-                       writew(timestamp & 0x00FF, ptr16);
+                       unican_writew(u,ptr16++);
+                       unican_writew(timestamp & 0x00FF, ptr16);
                }
 
                u = ((cobid>>16) & 0xFF00) | CL2_MESSAGE_VALID;
                }
 
                u = ((cobid>>16) & 0xFF00) | CL2_MESSAGE_VALID;
-               writew(u,(__u16*)chipext->asyncTxBufPtr);
+               unican_writew(u,(__u16*)chipext->asyncTxBufPtr);
 
                if ( (chipext->asyncTxBufBase + chipext->asyncTxBufSize*16) <= 
                                                (chipext->asyncTxBufPtr += 16) ) {
 
                if ( (chipext->asyncTxBufBase + chipext->asyncTxBufSize*16) <= 
                                                (chipext->asyncTxBufPtr += 16) ) {
@@ -944,7 +944,7 @@ int unican_pci_register(struct hwspecops_t *hwspecops)
 int unican_vme_reset(struct candevice_t *candev)
 {
        struct chip_t *chip = candev->chip[0];
 int unican_vme_reset(struct candevice_t *candev)
 {
        struct chip_t *chip = candev->chip[0];
-       writew(chip->chip_irq,chip->chip_base_addr+CL2_VME_INT_VECTOR);
+       unican_writew(chip->chip_irq,chip->chip_base_addr+CL2_VME_INT_VECTOR);
        return unican_reset(candev);
 }
 
        return unican_reset(candev);
 }