X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/cb551cc1582f3b51cf17e80730bee3c2f0701c3f..c61a955168179d9b11a8f420979eed5cc24869c0:/lincan/include/c_can.h diff --git a/lincan/include/c_can.h b/lincan/include/c_can.h index 4955d86..8e72da4 100644 --- a/lincan/include/c_can.h +++ b/lincan/include/c_can.h @@ -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