forked from Minki/linux
2dde7861af
Rework PowerMac media-bay support in such way that instead of un/registering the IDE interface we un/register IDE devices: * Add ide_port_scan() helper for probing+registerering devices on a port. * Rename ide_port_unregister_devices() to __ide_port_unregister_devices(). * Add ide_port_unregister_devices() helper for unregistering devices on a port. * Add 'ide_hwif_t *cd_port' to 'struct media_bay_info', pass 'hwif' instead of hwif->index to media_bay_set_ide_infos() and use it to setup 'cd_port'. * Use ide_port_unregister_devices() instead of ide_unregister() and ide_port_scan() instead of ide_register_hw() in media_bay_step(). * Unexport ide_register_hw() and make it static. v2: * Fix build by adding <linux/ide.h> include to <asm-powerpc/mediabay.h>. (Reported by Michael/Kamalesh/Andrew). Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> Cc: Michael Ellerman <michael@ellerman.id.au> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/*
|
|
* mediabay.h: definitions for using the media bay
|
|
* on PowerBook 3400 and similar computers.
|
|
*
|
|
* Copyright (C) 1997 Paul Mackerras.
|
|
*/
|
|
#ifndef _PPC_MEDIABAY_H
|
|
#define _PPC_MEDIABAY_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#define MB_FD 0 /* media bay contains floppy drive (automatic eject ?) */
|
|
#define MB_FD1 1 /* media bay contains floppy drive (manual eject ?) */
|
|
#define MB_SOUND 2 /* sound device ? */
|
|
#define MB_CD 3 /* media bay contains ATA drive such as CD or ZIP */
|
|
#define MB_PCI 5 /* media bay contains a PCI device */
|
|
#define MB_POWER 6 /* media bay contains a Power device (???) */
|
|
#define MB_NO 7 /* media bay contains nothing */
|
|
|
|
int check_media_bay(struct device_node *which_bay, int what);
|
|
|
|
/* Number of bays in the machine or 0 */
|
|
extern int media_bay_count;
|
|
|
|
#ifdef CONFIG_BLK_DEV_IDE_PMAC
|
|
#include <linux/ide.h>
|
|
|
|
int check_media_bay_by_base(unsigned long base, int what);
|
|
/* called by IDE PMAC host driver to register IDE controller for media bay */
|
|
int media_bay_set_ide_infos(struct device_node *which_bay, unsigned long base,
|
|
int irq, ide_hwif_t *hwif);
|
|
#endif
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _PPC_MEDIABAY_H */
|