root/drivers/staging/vt6655/upc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 /*
   3  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
   4  * All rights reserved.
   5  *
   6  * File: upc.h
   7  *
   8  * Purpose: Macros to access device
   9  *
  10  * Author: Tevin Chen
  11  *
  12  * Date: Mar 17, 1997
  13  *
  14  */
  15 
  16 #ifndef __UPC_H__
  17 #define __UPC_H__
  18 
  19 #include "device.h"
  20 
  21 /*---------------------  Export Definitions -------------------------*/
  22 
  23 /* For memory mapped IO */
  24 
  25 #define VNSvInPortB(dwIOAddress, pbyData) \
  26         (*(pbyData) = ioread8(dwIOAddress))
  27 
  28 #define VNSvInPortW(dwIOAddress, pwData) \
  29         (*(pwData) = ioread16(dwIOAddress))
  30 
  31 #define VNSvInPortD(dwIOAddress, pdwData) \
  32         (*(pdwData) = ioread32(dwIOAddress))
  33 
  34 #define VNSvOutPortB(dwIOAddress, byData) \
  35         iowrite8((u8)(byData), dwIOAddress)
  36 
  37 #define VNSvOutPortW(dwIOAddress, wData) \
  38         iowrite16((u16)(wData), dwIOAddress)
  39 
  40 #define VNSvOutPortD(dwIOAddress, dwData) \
  41         iowrite32((u32)(dwData), dwIOAddress)
  42 
  43 #define PCAvDelayByIO(uDelayUnit)                               \
  44 do {                                                            \
  45         unsigned char byData;                                   \
  46         unsigned long ii;                                       \
  47                                                                 \
  48         if (uDelayUnit <= 50) {                                 \
  49                 udelay(uDelayUnit);                             \
  50         } else {                                                \
  51                 for (ii = 0; ii < (uDelayUnit); ii++)           \
  52                         byData = inb(0x61);                     \
  53         }                                                       \
  54 } while (0)
  55 
  56 /*---------------------  Export Classes  ----------------------------*/
  57 
  58 /*---------------------  Export Variables  --------------------------*/
  59 
  60 /*---------------------  Export Functions  --------------------------*/
  61 
  62 #endif /* __UPC_H__ */

/* [<][>][^][v][top][bottom][index][help] */