Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * mediabay.h: definitions for using the media bay
0004  * on PowerBook 3400 and similar computers.
0005  *
0006  * Copyright (C) 1997 Paul Mackerras.
0007  */
0008 #ifndef _PPC_MEDIABAY_H
0009 #define _PPC_MEDIABAY_H
0010 
0011 #ifdef __KERNEL__
0012 
0013 #define MB_FD       0   /* media bay contains floppy drive (automatic eject ?) */
0014 #define MB_FD1      1   /* media bay contains floppy drive (manual eject ?) */
0015 #define MB_SOUND    2   /* sound device ? */
0016 #define MB_CD       3   /* media bay contains ATA drive such as CD or ZIP */
0017 #define MB_PCI      5   /* media bay contains a PCI device */
0018 #define MB_POWER    6   /* media bay contains a Power device (???) */
0019 #define MB_NO       7   /* media bay contains nothing */
0020 
0021 struct macio_dev;
0022 
0023 #ifdef CONFIG_PMAC_MEDIABAY
0024 
0025 /* Check the content type of the bay, returns MB_NO if the bay is still
0026  * transitionning
0027  */
0028 extern int check_media_bay(struct macio_dev *bay);
0029 
0030 /* The ATA driver uses the calls below to temporarily hold on the
0031  * media bay callbacks while initializing the interface
0032  */
0033 extern void lock_media_bay(struct macio_dev *bay);
0034 extern void unlock_media_bay(struct macio_dev *bay);
0035 
0036 #else
0037 
0038 static inline int check_media_bay(struct macio_dev *bay)
0039 {
0040     return MB_NO;
0041 }
0042 
0043 static inline void lock_media_bay(struct macio_dev *bay) { }
0044 static inline void unlock_media_bay(struct macio_dev *bay) { }
0045 
0046 #endif
0047 
0048 #endif /* __KERNEL__ */
0049 #endif /* _PPC_MEDIABAY_H */