blob: b2efb332580867aa1da0bec7074807f50259fb6e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
10#ifdef __KERNEL__
11
12#define MB_FD 0 /* media bay contains floppy drive (automatic eject ?) */
13#define MB_FD1 1 /* media bay contains floppy drive (manual eject ?) */
14#define MB_SOUND 2 /* sound device ? */
15#define MB_CD 3 /* media bay contains ATA drive such as CD or ZIP */
16#define MB_PCI 5 /* media bay contains a PCI device */
17#define MB_POWER 6 /* media bay contains a Power device (???) */
18#define MB_NO 7 /* media bay contains nothing */
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020/* Number of bays in the machine or 0 */
21extern int media_bay_count;
22
Bartlomiej Zolnierkiewicz2dde7862008-04-18 00:46:23 +020023#ifdef CONFIG_BLK_DEV_IDE_PMAC
24#include <linux/ide.h>
25
Bartlomiej Zolnierkiewicz34394e42008-02-06 02:57:50 +010026int check_media_bay_by_base(unsigned long base, int what);
27/* called by IDE PMAC host driver to register IDE controller for media bay */
28int media_bay_set_ide_infos(struct device_node *which_bay, unsigned long base,
Bartlomiej Zolnierkiewicz2dde7862008-04-18 00:46:23 +020029 int irq, ide_hwif_t *hwif);
Adrian Bunk305c7362008-06-11 03:47:45 +100030
31int check_media_bay(struct device_node *which_bay, int what);
32
33#else
34
35static inline int check_media_bay(struct device_node *which_bay, int what)
36{
37 return -ENODEV;
38}
39
Bartlomiej Zolnierkiewicz2dde7862008-04-18 00:46:23 +020040#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070041
42#endif /* __KERNEL__ */
43#endif /* _PPC_MEDIABAY_H */