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