linux/arch/blackfin/include/asm/io.h
<<
>>
Prefs
   1/*
   2 * Copyright 2004-2010 Analog Devices Inc.
   3 *
   4 * Licensed under the GPL-2 or later.
   5 */
   6
   7#ifndef _BFIN_IO_H
   8#define _BFIN_IO_H
   9
  10#include <linux/compiler.h>
  11#include <linux/types.h>
  12#include <asm/byteorder.h>
  13#include <asm/def_LPBlackfin.h>
  14
  15#define __raw_readb bfin_read8
  16#define __raw_readw bfin_read16
  17#define __raw_readl bfin_read32
  18#define __raw_writeb(val, addr) bfin_write8(addr, val)
  19#define __raw_writew(val, addr) bfin_write16(addr, val)
  20#define __raw_writel(val, addr) bfin_write32(addr, val)
  21
  22extern void outsb(unsigned long port, const void *addr, unsigned long count);
  23extern void outsw(unsigned long port, const void *addr, unsigned long count);
  24extern void outsw_8(unsigned long port, const void *addr, unsigned long count);
  25extern void outsl(unsigned long port, const void *addr, unsigned long count);
  26#define outsb outsb
  27#define outsw outsw
  28#define outsl outsl
  29
  30extern void insb(unsigned long port, void *addr, unsigned long count);
  31extern void insw(unsigned long port, void *addr, unsigned long count);
  32extern void insw_8(unsigned long port, void *addr, unsigned long count);
  33extern void insl(unsigned long port, void *addr, unsigned long count);
  34extern void insl_16(unsigned long port, void *addr, unsigned long count);
  35#define insb insb
  36#define insw insw
  37#define insl insl
  38
  39/**
  40 * I/O write barrier
  41 *
  42 * Ensure ordering of I/O space writes. This will make sure that writes
  43 * following the barrier will arrive after all previous writes.
  44 */
  45#define mmiowb() do { SSYNC(); wmb(); } while (0)
  46
  47#include <asm-generic/io.h>
  48
  49#endif
  50