blob: 230fda4707b81a4ba0dd244c1331c06b6015f116 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
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
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000021struct macio_dev;
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000023#ifdef CONFIG_PMAC_MEDIABAY
Bartlomiej Zolnierkiewicz2dde7862008-04-18 00:46:23 +020024
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000025/* Check the content type of the bay, returns MB_NO if the bay is still
26 * transitionning
27 */
28extern int check_media_bay(struct macio_dev *bay);
Adrian Bunk305c7362008-06-11 03:47:45 +100029
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000030/* The ATA driver uses the calls below to temporarily hold on the
31 * media bay callbacks while initializing the interface
32 */
33extern void lock_media_bay(struct macio_dev *bay);
34extern void unlock_media_bay(struct macio_dev *bay);
Adrian Bunk305c7362008-06-11 03:47:45 +100035
36#else
37
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000038static inline int check_media_bay(struct macio_dev *bay)
Adrian Bunk305c7362008-06-11 03:47:45 +100039{
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000040 return MB_NO;
Adrian Bunk305c7362008-06-11 03:47:45 +100041}
42
Benjamin Herrenschmidtd58b0c32009-12-01 14:36:28 +000043static inline void lock_media_bay(struct macio_dev *bay) { }
44static inline void unlock_media_bay(struct macio_dev *bay) { }
45
Bartlomiej Zolnierkiewicz2dde7862008-04-18 00:46:23 +020046#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48#endif /* __KERNEL__ */
49#endif /* _PPC_MEDIABAY_H */