OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [maple.h] - Rev 85

Go to most recent revision | Compare with Previous | Blame | View Log

#ifndef __LINUX_MAPLE_H
#define __LINUX_MAPLE_H
 
#include <linux/device.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 maple_devinfo {
       unsigned long function;
       unsigned long function_data[3];
       unsigned char area_code;
       unsigned char connector_directon;
       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 *private_data;
       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];
       int registered;
       struct device dev;
};
 
struct maple_driver {
       unsigned long function;
       int (*connect) (struct maple_device * dev);
       void (*disconnect) (struct maple_device * dev);
       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 device_driver *drv);
void maple_add_packet(struct mapleq *mq);
 
#define to_maple_dev(n) container_of(n, struct maple_device, dev)
#define to_maple_driver(n) container_of(n, struct maple_driver, drv)
 
#endif /* __LINUX_MAPLE_H */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.