Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
io-workarounds.c File Reference
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/pgtable.h>
#include <asm/ppc-pci.h>
#include <asm/io-workarounds.h>
#include <asm/io-defs.h>

Go to the source code of this file.

Macros

#define IOWA_MAX_BUS   8
 
#define DEF_PCI_AC_RET(name, ret, at, al, space, aa)
 
#define DEF_PCI_AC_NORET(name, at, al, space, aa)
 
#define DEF_PCI_AC_RET(name, ret, at, al, space, aa)   .name = iowa_##name,
 
#define DEF_PCI_AC_NORET(name, at, al, space, aa)   .name = iowa_##name,
 

Functions

struct iowa_busiowa_mem_find_bus (const PCI_IO_ADDR addr)
 
struct iowa_busiowa_pio_find_bus (unsigned long port)
 
void __devinit iowa_register_bus (struct pci_controller *phb, struct ppc_pci_io *ops, int(*initfunc)(struct iowa_bus *, void *), void *data)
 

Macro Definition Documentation

#define DEF_PCI_AC_NORET (   name,
  at,
  al,
  space,
  aa 
)
Value:
static void iowa_##name at \
{ \
bus = iowa_##space##_find_bus(aa); \
if (bus && bus->ops && bus->ops->name) { \
bus->ops->name al; \
return; \
} \
__do_##name al; \
}

Definition at line 104 of file io-workarounds.c.

#define DEF_PCI_AC_NORET (   name,
  at,
  al,
  space,
  aa 
)    .name = iowa_##name,

Definition at line 104 of file io-workarounds.c.

#define DEF_PCI_AC_RET (   name,
  ret,
  at,
  al,
  space,
  aa 
)
Value:
static ret iowa_##name at \
{ \
bus = iowa_##space##_find_bus(aa); \
if (bus && bus->ops && bus->ops->name) \
return bus->ops->name al; \
return __do_##name al; \
}

Definition at line 94 of file io-workarounds.c.

#define DEF_PCI_AC_RET (   name,
  ret,
  at,
  al,
  space,
  aa 
)    .name = iowa_##name,

Definition at line 94 of file io-workarounds.c.

#define IOWA_MAX_BUS   8

Definition at line 23 of file io-workarounds.c.

Function Documentation

struct iowa_bus* iowa_mem_find_bus ( const PCI_IO_ADDR  addr)
read

Definition at line 56 of file io-workarounds.c.

struct iowa_bus* iowa_pio_find_bus ( unsigned long  port)
read

Definition at line 87 of file io-workarounds.c.

void __devinit iowa_register_bus ( struct pci_controller phb,
struct ppc_pci_io *  ops,
int(*)(struct iowa_bus *, void *)  initfunc,
void data 
)

Definition at line 161 of file io-workarounds.c.