1 /*
2 * drivers/pcmcia/pci_socket.h
3 *
4 * (C) Copyright 1999 Linus Torvalds
5 */
6
7 #ifndef __PCI_SOCKET_H
8 #define __PCI_SOCKET_H
9
10 struct pci_socket_ops;
11 struct socket_info_t;
12
13 typedef struct pci_socket {
14 struct pci_dev *dev;
15 int cb_irq, io_irq;
16 void *base;
17 void (*handler)(void *, unsigned int);
18 void *info;
19 struct pci_socket_ops *op;
20 socket_cap_t cap;
21 spinlock_t event_lock;
22 unsigned int events;
23 struct socket_info_t *pcmcia_socket;
24 struct tq_struct tq_task;
25 struct timer_list poll_timer;
26
27 /* A few words of private data for the low-level driver.. */
28 unsigned int private[8];
29 } pci_socket_t;
30
31 struct pci_socket_ops {
32 int (*open)(struct pci_socket *);
33 void (*close)(struct pci_socket *);
34
35 int (*init)(struct pci_socket *);
36 int (*suspend)(struct pci_socket *);
37 int (*get_status)(struct pci_socket *, unsigned int *);
38 int (*get_socket)(struct pci_socket *, socket_state_t *);
39 int (*set_socket)(struct pci_socket *, socket_state_t *);
40 int (*get_io_map)(struct pci_socket *, struct pccard_io_map *);
41 int (*set_io_map)(struct pci_socket *, struct pccard_io_map *);
42 int (*get_mem_map)(struct pci_socket *, struct pccard_mem_map *);
43 int (*set_mem_map)(struct pci_socket *, struct pccard_mem_map *);
44 void (*proc_setup)(struct pci_socket *, struct proc_dir_entry *base);
45 };
46
47 extern struct pci_socket_ops yenta_operations;
48 extern struct pci_socket_ops ricoh_operations;
49
50 #endif
51
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.