* Rewritten for new CAN queues by Pavel Pisa - OCERA team member
* email:pisa@cmp.felk.cvut.cz
* This software is released under the GPL-License.
- * Version lincan-0.2 9 Jul 2003
+ * Version lincan-0.3 17 Jun 2004
*/
#include "./can.h"
long clock; /* Chip clock in Hz */
long baudrate;
- void (*write_register)(unsigned char data,unsigned long address);
+ void (*write_register)(unsigned data,unsigned long address);
unsigned (*read_register)(unsigned long address);
void *chip_data;
int (*init_chip_data)(struct candevice_t *candev, int chipnr);
int (*init_obj_data)(struct chip_t *chip, int objnr);
int (*program_irq)(struct candevice_t *candev);
- void (*write_register)(unsigned char data,unsigned long address);
+ void (*write_register)(unsigned data,unsigned long address);
unsigned (*read_register)(unsigned long address);
};
unsigned short btr1);
int (*start_chip)(struct chip_t *chip);
int (*stop_chip)(struct chip_t *chip);
- can_irqreturn_t (*irq_handler)(int irq, void *dev_id, struct pt_regs *regs);
+ int (*irq_handler)(int irq, struct chip_t *chip);
};
struct mem_addr {
int can_check_dev_taken(void *anydev);
+#if defined(can_gettimeofday) && defined(CAN_MSG_VERSION_2) && 1
+static inline
+void can_filltimestamp(canmsg_tstamp_t *ptimestamp)
+{
+ can_gettimeofday(ptimestamp);
+}
+#else /* No timestamp support, set field to zero */
+static inline
+void can_filltimestamp(canmsg_tstamp_t *ptimestamp)
+{
+ #ifdef CAN_MSG_VERSION_2
+ ptimestamp->tv_sec = 0;
+ ptimestamp->tv_usec = 0;
+ #else /* CAN_MSG_VERSION_2 */
+ *ptimestamp = 0;
+ #endif /* CAN_MSG_VERSION_2 */
+
+}
+#endif /* End of timestamp source selection */
+
#ifdef CAN_WITH_RTL
extern int can_rtl_priority;
#endif /*CAN_WITH_RTL*/