]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/c_can.h
Changed data size from byte to unsigned for write_register indirect call
[lincan.git] / lincan / include / c_can.h
index 4955d86e4293fa961502fbcf8ad29fe716e5e76c..8e72da4cfdc096f880cc5218c12e2b1924dda7f1 100644 (file)
@@ -9,41 +9,28 @@
  * Version lincan-0.2  9 Jul 2003
  */
 
-void hms30c7202_write_reg_w(const struct chip_t *pchip, u16 data, unsigned reg);
-
-u16 hms30c7202_read_reg_w(const struct chip_t *pchip, unsigned reg);
-
-#ifndef CONFIG_OC_LINCAN_DYNAMICIO
 /* 
  * optimized inline version, may it be, that it can be too fast for the chip
  */
 extern inline void c_can_write_reg_w(const struct chip_t *pchip, u16 data, unsigned reg)
 {
        u32 address = pchip->chip_base_addr + reg;
+    #ifndef CONFIG_OC_LINCAN_DYNAMICIO
        writew(data,address);
+    #else /*CONFIG_OC_LINCAN_DYNAMICIO*/
+       pchip->write_register(data, address);
+    #endif /*CONFIG_OC_LINCAN_DYNAMICIO*/
 }
 
 extern inline u16 c_can_read_reg_w(const struct chip_t *pchip, unsigned reg)
 {
        u32 address = pchip->chip_base_addr + reg;
+    #ifndef CONFIG_OC_LINCAN_DYNAMICIO
        return readw(address);
+    #else /*CONFIG_OC_LINCAN_DYNAMICIO*/
+       return pchip->read_register(address);
+    #endif /*CONFIG_OC_LINCAN_DYNAMICIO*/
 }
-#else /*CONFIG_OC_LINCAN_DYNAMICIO*/
-/* 
- * the standard routines for register access cannot be used,
- * because they work only with 8-bit peripherals
- */
-
-extern inline void c_can_write_reg_w(const struct chip_t *pchip, u16 data, unsigned reg)
-{
-       hms30c7202_write_reg_w(pchip, data, reg);
-}
-
-extern inline u16 c_can_read_reg_w(const struct chip_t *pchip, unsigned reg)
-{
-       return hms30c7202_read_reg_w(pchip, reg);
-}
-#endif /*CONFIG_OC_LINCAN_DYNAMICIO*/
 
 extern can_spinlock_t c_can_spwlock; // Spin lock for write operations
 extern can_spinlock_t c_can_sprlock; // Spin lock for read operations