]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/main.h
Changed data size from byte to unsigned for write_register indirect call
[lincan.git] / lincan / include / main.h
index 2893ef7fa227b7f46a5121b6748402768828d970..30ae627aea6df6b60181b2d378d77944ea19912d 100644 (file)
 #include "./constants.h"
 #include "./can_sysdep.h"
 #include "./can_queue.h"
-#include "lincan_config.h"
-
-#ifdef CONFIG_OC_LINCANVME
-#define CAN_ENABLE_VME_SUPPORT
-#endif
 
 #ifdef CAN_DEBUG
        #define DEBUGMSG(fmt,args...) can_printk(KERN_ERR "can.o (debug): " fmt,\
@@ -163,7 +158,7 @@ struct chip_t {
        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;
@@ -214,6 +209,8 @@ struct chip_t {
  *     %MSGOBJ_TX_REQUEST .. the message object requests TX activation
  *     %MSGOBJ_TX_LOCK .. some IRQ routine or callback on some CPU 
  *             is running inside TX activation processing code
+ * @rx_preconfig_id: place to store RX message identifier for some chip types
+ *              that reuse same object for TX
  */
 struct msgobj_t {
        unsigned long obj_base_addr;
@@ -232,6 +229,8 @@ struct msgobj_t {
        struct canmsg_t rx_msg;
 
        struct chip_t *hostchip;
+       unsigned long rx_preconfig_id;
 
        atomic_t obj_used;
        struct list_head obj_users;
@@ -298,7 +297,7 @@ struct hwspecops_t {
        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);
 };