mediabay.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * mediabay.h: definitions for using the media bay
  3. * on PowerBook 3400 and similar computers.
  4. *
  5. * Copyright (C) 1997 Paul Mackerras.
  6. */
  7. #ifndef _PPC_MEDIABAY_H
  8. #define _PPC_MEDIABAY_H
  9. #ifdef __KERNEL__
  10. #define MB_FD 0 /* media bay contains floppy drive (automatic eject ?) */
  11. #define MB_FD1 1 /* media bay contains floppy drive (manual eject ?) */
  12. #define MB_SOUND 2 /* sound device ? */
  13. #define MB_CD 3 /* media bay contains ATA drive such as CD or ZIP */
  14. #define MB_PCI 5 /* media bay contains a PCI device */
  15. #define MB_POWER 6 /* media bay contains a Power device (???) */
  16. #define MB_NO 7 /* media bay contains nothing */
  17. struct macio_dev;
  18. #ifdef CONFIG_PMAC_MEDIABAY
  19. /* Check the content type of the bay, returns MB_NO if the bay is still
  20. * transitionning
  21. */
  22. extern int check_media_bay(struct macio_dev *bay);
  23. /* The ATA driver uses the calls below to temporarily hold on the
  24. * media bay callbacks while initializing the interface
  25. */
  26. extern void lock_media_bay(struct macio_dev *bay);
  27. extern void unlock_media_bay(struct macio_dev *bay);
  28. #else
  29. static inline int check_media_bay(struct macio_dev *bay)
  30. {
  31. return MB_NO;
  32. }
  33. static inline void lock_media_bay(struct macio_dev *bay) { }
  34. static inline void unlock_media_bay(struct macio_dev *bay) { }
  35. #endif
  36. #endif /* __KERNEL__ */
  37. #endif /* _PPC_MEDIABAY_H */