ds_internal.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /* ds_internal.h - internal header for 16-bit PCMCIA devices management */
  2. struct user_info_t;
  3. /* Socket state information */
  4. struct pcmcia_bus_socket {
  5. struct kref refcount;
  6. int state;
  7. struct pcmcia_socket *parent;
  8. /* the PCMCIA devices connected to this socket (normally one, more
  9. * for multifunction devices: */
  10. struct list_head devices_list;
  11. u8 device_count; /* the number of devices, used
  12. * only internally and subject
  13. * to incorrectness and change */
  14. u8 device_add_pending;
  15. struct work_struct device_add;
  16. #ifdef CONFIG_PCMCIA_IOCTL
  17. struct user_info_t *user;
  18. wait_queue_head_t queue;
  19. #endif
  20. };
  21. extern spinlock_t pcmcia_dev_list_lock;
  22. extern struct bus_type pcmcia_bus_type;
  23. #define DS_SOCKET_PRESENT 0x01
  24. #define DS_SOCKET_BUSY 0x02
  25. #define DS_SOCKET_DEAD 0x80
  26. extern struct pcmcia_device * pcmcia_get_dev(struct pcmcia_device *p_dev);
  27. extern void pcmcia_put_dev(struct pcmcia_device *p_dev);
  28. struct pcmcia_bus_socket *pcmcia_get_bus_socket(struct pcmcia_bus_socket *s);
  29. void pcmcia_put_bus_socket(struct pcmcia_bus_socket *s);
  30. struct pcmcia_device * pcmcia_device_add(struct pcmcia_bus_socket *s, unsigned int function);
  31. #ifdef CONFIG_PCMCIA_IOCTL
  32. extern void __init pcmcia_setup_ioctl(void);
  33. extern void __exit pcmcia_cleanup_ioctl(void);
  34. extern void handle_event(struct pcmcia_bus_socket *s, event_t event);
  35. extern int handle_request(struct pcmcia_bus_socket *s, event_t event);
  36. #else
  37. static inline void __init pcmcia_setup_ioctl(void) { return; }
  38. static inline void __init pcmcia_cleanup_ioctl(void) { return; }
  39. static inline void handle_event(struct pcmcia_bus_socket *s, event_t event) { return; }
  40. static inline int handle_request(struct pcmcia_bus_socket *s, event_t event) { return CS_SUCCESS; }
  41. #endif