12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #ifndef __LINUX_MAPLE_H
- #define __LINUX_MAPLE_H
- #include <linux/device.h>
- #include <mach/maple.h>
- extern struct bus_type maple_bus_type;
- /* Maple Bus command and response codes */
- enum maple_code {
- MAPLE_RESPONSE_FILEERR = -5,
- MAPLE_RESPONSE_AGAIN = -4, /* request should be retransmitted */
- MAPLE_RESPONSE_BADCMD = -3,
- MAPLE_RESPONSE_BADFUNC = -2,
- MAPLE_RESPONSE_NONE = -1, /* unit didn't respond at all */
- MAPLE_COMMAND_DEVINFO = 1,
- MAPLE_COMMAND_ALLINFO = 2,
- MAPLE_COMMAND_RESET = 3,
- MAPLE_COMMAND_KILL = 4,
- MAPLE_RESPONSE_DEVINFO = 5,
- MAPLE_RESPONSE_ALLINFO = 6,
- MAPLE_RESPONSE_OK = 7,
- MAPLE_RESPONSE_DATATRF = 8,
- MAPLE_COMMAND_GETCOND = 9,
- MAPLE_COMMAND_GETMINFO = 10,
- MAPLE_COMMAND_BREAD = 11,
- MAPLE_COMMAND_BWRITE = 12,
- MAPLE_COMMAND_SETCOND = 14
- };
- struct mapleq {
- struct list_head list;
- struct maple_device *dev;
- void *sendbuf, *recvbuf, *recvbufdcsp;
- unsigned char length;
- enum maple_code command;
- struct mutex mutex;
- };
- struct maple_devinfo {
- unsigned long function;
- unsigned long function_data[3];
- unsigned char area_code;
- unsigned char connector_direction;
- char product_name[31];
- char product_licence[61];
- unsigned short standby_power;
- unsigned short max_power;
- };
- struct maple_device {
- struct maple_driver *driver;
- struct mapleq *mq;
- void (*callback) (struct mapleq * mq);
- unsigned long when, interval, function;
- struct maple_devinfo devinfo;
- unsigned char port, unit;
- char product_name[32];
- char product_licence[64];
- struct device dev;
- };
- struct maple_driver {
- unsigned long function;
- struct device_driver drv;
- };
- void maple_getcond_callback(struct maple_device *dev,
- void (*callback) (struct mapleq * mq),
- unsigned long interval,
- unsigned long function);
- int maple_driver_register(struct maple_driver *);
- void maple_driver_unregister(struct maple_driver *);
- int maple_add_packet_sleeps(struct maple_device *mdev, u32 function,
- u32 command, u32 length, void *data);
- void maple_clear_dev(struct maple_device *mdev);
- #define to_maple_dev(n) container_of(n, struct maple_device, dev)
- #define to_maple_driver(n) container_of(n, struct maple_driver, drv)
- #define maple_get_drvdata(d) dev_get_drvdata(&(d)->dev)
- #define maple_set_drvdata(d,p) dev_set_drvdata(&(d)->dev, (p))
- #endif /* __LINUX_MAPLE_H */
|