Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
mediabay.c File Reference
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/stddef.h>
#include <linux/init.h>
#include <linux/kthread.h>
#include <linux/mutex.h>
#include <asm/prom.h>
#include <asm/pgtable.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/pmac_feature.h>
#include <asm/mediabay.h>
#include <asm/sections.h>
#include <asm/ohare.h>
#include <asm/heathrow.h>
#include <asm/keylargo.h>
#include <linux/adb.h>
#include <linux/pmu.h>

Go to the source code of this file.

Data Structures

struct  mb_ops
 
struct  media_bay_info
 

Macros

#define MB_FCR32(bay, r)   ((bay)->base + ((r) >> 2))
 
#define MB_FCR8(bay, r)   (((volatile u8 __iomem *)((bay)->base)) + (r))
 
#define MB_IN32(bay, r)   (in_le32(MB_FCR32(bay,r)))
 
#define MB_OUT32(bay, r, v)   (out_le32(MB_FCR32(bay,r), (v)))
 
#define MB_BIS(bay, r, v)   (MB_OUT32((bay), (r), MB_IN32((bay), r) | (v)))
 
#define MB_BIC(bay, r, v)   (MB_OUT32((bay), (r), MB_IN32((bay), r) & ~(v)))
 
#define MB_IN8(bay, r)   (in_8(MB_FCR8(bay,r)))
 
#define MB_OUT8(bay, r, v)   (out_8(MB_FCR8(bay,r), (v)))
 
#define MAX_BAYS   2
 
#define MB_POLL_DELAY   25
 
#define MB_STABLE_DELAY   100
 
#define MB_POWER_DELAY   200
 
#define MB_RESET_DELAY   50
 
#define MB_SETUP_DELAY   100
 
#define MB_IDE_WAIT   1000
 
#define MB_POWER_SOUND   0x08
 
#define MB_POWER_FLOPPY   0x04
 
#define MB_POWER_ATA   0x02
 
#define MB_POWER_PCI   0x01
 
#define MB_POWER_OFF   0x00
 

Enumerations

enum  {
  mb_empty = 0, mb_powering_up, mb_enabling_bay, mb_resetting,
  mb_ide_resetting, mb_up, mb_powering_down
}
 

Functions

int check_media_bay (struct macio_dev *baydev)
 
 EXPORT_SYMBOL_GPL (check_media_bay)
 
void lock_media_bay (struct macio_dev *baydev)
 
 EXPORT_SYMBOL_GPL (lock_media_bay)
 
void unlock_media_bay (struct macio_dev *baydev)
 
 EXPORT_SYMBOL_GPL (unlock_media_bay)
 
 device_initcall (media_bay_init)
 

Macro Definition Documentation

#define MAX_BAYS   2

Definition at line 74 of file mediabay.c.

#define MB_BIC (   bay,
  r,
  v 
)    (MB_OUT32((bay), (r), MB_IN32((bay), r) & ~(v)))

Definition at line 42 of file mediabay.c.

#define MB_BIS (   bay,
  r,
  v 
)    (MB_OUT32((bay), (r), MB_IN32((bay), r) | (v)))

Definition at line 41 of file mediabay.c.

#define MB_FCR32 (   bay,
  r 
)    ((bay)->base + ((r) >> 2))

Definition at line 36 of file mediabay.c.

#define MB_FCR8 (   bay,
  r 
)    (((volatile u8 __iomem *)((bay)->base)) + (r))

Definition at line 37 of file mediabay.c.

#define MB_IDE_WAIT   1000

Definition at line 112 of file mediabay.c.

#define MB_IN32 (   bay,
  r 
)    (in_le32(MB_FCR32(bay,r)))

Definition at line 39 of file mediabay.c.

#define MB_IN8 (   bay,
  r 
)    (in_8(MB_FCR8(bay,r)))

Definition at line 43 of file mediabay.c.

#define MB_OUT32 (   bay,
  r,
  v 
)    (out_le32(MB_FCR32(bay,r), (v)))

Definition at line 40 of file mediabay.c.

#define MB_OUT8 (   bay,
  r,
  v 
)    (out_8(MB_FCR8(bay,r), (v)))

Definition at line 44 of file mediabay.c.

#define MB_POLL_DELAY   25

Definition at line 82 of file mediabay.c.

#define MB_POWER_ATA   0x02

Definition at line 129 of file mediabay.c.

#define MB_POWER_DELAY   200

Definition at line 93 of file mediabay.c.

#define MB_POWER_FLOPPY   0x04

Definition at line 128 of file mediabay.c.

#define MB_POWER_OFF   0x00

Definition at line 131 of file mediabay.c.

#define MB_POWER_PCI   0x01

Definition at line 130 of file mediabay.c.

#define MB_POWER_SOUND   0x08

Definition at line 127 of file mediabay.c.

#define MB_RESET_DELAY   50

Definition at line 99 of file mediabay.c.

#define MB_SETUP_DELAY   100

Definition at line 106 of file mediabay.c.

#define MB_STABLE_DELAY   100

Definition at line 88 of file mediabay.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
mb_empty 
mb_powering_up 
mb_enabling_bay 
mb_resetting 
mb_ide_resetting 
mb_up 
mb_powering_down 

Definition at line 117 of file mediabay.c.

Function Documentation

int check_media_bay ( struct macio_dev *  baydev)

Definition at line 394 of file mediabay.c.

device_initcall ( media_bay_init  )
EXPORT_SYMBOL_GPL ( check_media_bay  )
EXPORT_SYMBOL_GPL ( lock_media_bay  )
EXPORT_SYMBOL_GPL ( unlock_media_bay  )
void lock_media_bay ( struct macio_dev *  baydev)

Definition at line 419 of file mediabay.c.

void unlock_media_bay ( struct macio_dev *  baydev)

Definition at line 433 of file mediabay.c.