From: M. R. B. <mr...@us...> - 2002-10-29 15:20:25
|
Update of /cvsroot/linuxdc/linux-sh-dc/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv9028/include/linux Modified Files: maple.h Log Message: Linux-SH 2.5.44 switchover Index: maple.h =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/include/linux/maple.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- maple.h 23 Jan 2002 06:56:48 -0000 1.2 +++ maple.h 29 Oct 2002 15:20:22 -0000 1.3 @@ -64,6 +64,7 @@ #define MAPLE_FUNC_PURUPURU 0x100 #define MAPLE_FUNC_MOUSE 0x200 + struct maple_devinfo { unsigned long function; /* big endian! */ unsigned long function_data[3]; /* big endian! */ @@ -79,81 +80,48 @@ struct maple_driver; struct maple_device; - -#define MAPLEQ_LENGTH_GUN (1<<9) - struct mapleq { struct list_head list; - void *mq_privdata; - void *sendbuf; - char *recvbuf; /* points to ->buf, but 32-byte aligned */ - - unsigned char port, unit; - unsigned char command; - unsigned char done; - int length; - - void (*callback)(struct mapleq *mq); + struct maple_device *dev; + void *sendbuf, *recvbuf; + unsigned char command, length; unsigned char buf[1024+32]; }; struct maple_device { - unsigned char port; - unsigned char unit; - short lock; - - unsigned long function; /* Little endian */ + struct list_head list; + struct maple_driver *driver; + struct mapleq *mq; + void *private_data; + void (*callback)(struct mapleq *mq); + unsigned long when, interval, function; + int event; struct maple_devinfo devinfo; - + unsigned char port, unit; char product_name[32]; char product_license[64]; }; -/* Max devices per port */ -#define MAPLE_MAX_UNITS 6 - -struct maple_port { - unsigned char port; - unsigned char known_units; /* connected units */ - unsigned char units; /* units to connect/disconnect */ - void (*gunmode)(void *,int,int); - void *gunmode_data; - struct maple_device *dev[MAPLE_MAX_UNITS]; -}; - -struct maple_driver_data { - struct list_head list; - struct maple_driver *driver; - struct maple_device *dev; - void *private_data; - unsigned long function_data; - struct mapleq mq; -}; struct maple_driver { struct list_head list; - unsigned long function; /* One or more bits */ + unsigned long function; const char *name; - - void (*vblank)(struct maple_driver_data *dev); - void (*reply)(struct maple_driver_data *dev); - int (*connect)(struct maple_driver_data *dev); - void (*disconnect)(struct maple_driver_data *dev); + int (*connect)(struct maple_device *dev); + void (*disconnect)(struct maple_device *dev); }; -/* Prototypes begin here */ -void maple_send(void); int maple_add_packet(struct mapleq *mq); int maple_del_packet(struct mapleq *mq); + void maple_register_driver(struct maple_driver *driver); void maple_unregister_driver(struct maple_driver *driver); -void maple_getcond_vblank_callback(struct maple_driver_data *data); -void maple_set_gunmode(int, void (*)(void *,int,int), void *); -void maple_init_mq(struct mapleq *mq); -/* Prototypes end here */ +void maple_getcond_callback(struct maple_device *dev, + void (*callback)(struct mapleq *mq), + unsigned long interval, unsigned long function); /* * Local variables: |