linux/drivers/staging/rtl8712/rtl8712_io.c
<<
>>
Prefs
   1/******************************************************************************
   2 * rtl8712_io.c
   3 *
   4 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
   5 * Linux device driver for RTL8192SU
   6 *
   7 * This program is free software; you can redistribute it and/or modify it
   8 * under the terms of version 2 of the GNU General Public License as
   9 * published by the Free Software Foundation.
  10 *
  11 * This program is distributed in the hope that it will be useful, but WITHOUT
  12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  14 * more details.
  15 *
  16 * You should have received a copy of the GNU General Public License along with
  17 * this program; if not, write to the Free Software Foundation, Inc.,
  18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  19 *
  20 * Modifications for inclusion into the Linux staging tree are
  21 * Copyright(c) 2010 Larry Finger. All rights reserved.
  22 *
  23 * Contact information:
  24 * WLAN FAE <wlanfae@realtek.com>.
  25 * Larry Finger <Larry.Finger@lwfinger.net>
  26 *
  27 ******************************************************************************/
  28
  29#define _RTL8712_IO_C_
  30
  31#include "osdep_service.h"
  32#include "drv_types.h"
  33#include "rtl871x_io.h"
  34#include "osdep_intf.h"
  35#include "usb_ops.h"
  36
  37u8 r8712_read8(struct _adapter *adapter, u32 addr)
  38{
  39        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  40
  41        return hdl->io_ops._read8(hdl, addr);
  42}
  43
  44u16 r8712_read16(struct _adapter *adapter, u32 addr)
  45{
  46        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  47
  48        return hdl->io_ops._read16(hdl, addr);
  49}
  50
  51u32 r8712_read32(struct _adapter *adapter, u32 addr)
  52{
  53        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  54
  55        return hdl->io_ops._read32(hdl, addr);
  56}
  57
  58void r8712_write8(struct _adapter *adapter, u32 addr, u8 val)
  59{
  60        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  61
  62        hdl->io_ops._write8(hdl, addr, val);
  63}
  64
  65void r8712_write16(struct _adapter *adapter, u32 addr, u16 val)
  66{
  67        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  68
  69        hdl->io_ops._write16(hdl, addr, val);
  70}
  71
  72void r8712_write32(struct _adapter *adapter, u32 addr, u32 val)
  73{
  74        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  75
  76        hdl->io_ops._write32(hdl, addr, val);
  77}
  78
  79void r8712_read_mem(struct _adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
  80{
  81        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  82
  83        if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
  84                return;
  85
  86        hdl->io_ops._read_mem(hdl, addr, cnt, pmem);
  87}
  88
  89void r8712_write_mem(struct _adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
  90{
  91        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  92
  93        hdl->io_ops._write_mem(hdl, addr, cnt, pmem);
  94}
  95
  96void r8712_read_port(struct _adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
  97{
  98        struct intf_hdl *hdl = &adapter->pio_queue->intf;
  99
 100        if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
 101                return;
 102
 103        hdl->io_ops._read_port(hdl, addr, cnt, pmem);
 104}
 105
 106void r8712_write_port(struct _adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
 107{
 108        struct intf_hdl *hdl = &adapter->pio_queue->intf;
 109
 110        hdl->io_ops._write_port(hdl, addr, cnt, pmem);
 111}
 112