pci_socket.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * drivers/pcmcia/pci_socket.h
  3.  *
  4.  * (C) Copyright 1999 Linus Torvalds
  5.  */
  6. #ifndef __PCI_SOCKET_H
  7. #define __PCI_SOCKET_H
  8. struct pci_socket_ops;
  9. struct socket_info_t;
  10. typedef struct pci_socket {
  11. struct pci_dev *dev;
  12. int cb_irq, io_irq;
  13. void *base;
  14. void (*handler)(void *, unsigned int);
  15. void *info;
  16. struct pci_socket_ops *op;
  17. socket_cap_t cap;
  18. spinlock_t event_lock;
  19. unsigned int events;
  20. struct socket_info_t *pcmcia_socket;
  21. struct tq_struct tq_task;
  22. struct timer_list poll_timer;
  23. /* Zoom video behaviour is so chip specific its not worth adding
  24.       this to _ops */
  25. void (*zoom_video)(struct pci_socket *, int);
  26. /* A few words of private data for the low-level driver.. */
  27. unsigned int private[8];
  28. } pci_socket_t;
  29. struct pci_socket_ops {
  30. int (*open)(struct pci_socket *);
  31. void (*close)(struct pci_socket *);
  32. int (*init)(struct pci_socket *);
  33. int (*suspend)(struct pci_socket *);
  34. int (*get_status)(struct pci_socket *, unsigned int *);
  35. int (*get_socket)(struct pci_socket *, socket_state_t *);
  36. int (*set_socket)(struct pci_socket *, socket_state_t *);
  37. int (*get_io_map)(struct pci_socket *, struct pccard_io_map *);
  38. int (*set_io_map)(struct pci_socket *, struct pccard_io_map *);
  39. int (*get_mem_map)(struct pci_socket *, struct pccard_mem_map *);
  40. int (*set_mem_map)(struct pci_socket *, struct pccard_mem_map *);
  41. void (*proc_setup)(struct pci_socket *, struct proc_dir_entry *base);
  42. };
  43. extern struct pci_socket_ops yenta_operations;
  44. extern struct pci_socket_ops ricoh_operations;
  45. #endif