pci_socket.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

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. /* A few words of private data for the low-level driver.. */
  24. unsigned int private[8];
  25. } pci_socket_t;
  26. struct pci_socket_ops {
  27. int (*open)(struct pci_socket *);
  28. void (*close)(struct pci_socket *);
  29. int (*init)(struct pci_socket *);
  30. int (*suspend)(struct pci_socket *);
  31. int (*get_status)(struct pci_socket *, unsigned int *);
  32. int (*get_socket)(struct pci_socket *, socket_state_t *);
  33. int (*set_socket)(struct pci_socket *, socket_state_t *);
  34. int (*get_io_map)(struct pci_socket *, struct pccard_io_map *);
  35. int (*set_io_map)(struct pci_socket *, struct pccard_io_map *);
  36. int (*get_mem_map)(struct pci_socket *, struct pccard_mem_map *);
  37. int (*set_mem_map)(struct pci_socket *, struct pccard_mem_map *);
  38. void (*proc_setup)(struct pci_socket *, struct proc_dir_entry *base);
  39. };
  40. extern struct pci_socket_ops yenta_operations;
  41. extern struct pci_socket_ops ricoh_operations;
  42. #endif